webruby 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (258) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webruby/rake/mruby.rake +1 -0
  3. data/modules/emscripten/AUTHORS +7 -0
  4. data/modules/emscripten/LICENSE +26 -0
  5. data/modules/emscripten/emcc +58 -20
  6. data/modules/emscripten/emlink.py +2 -265
  7. data/modules/emscripten/emscripten.py +38 -18
  8. data/modules/emscripten/scons-tools/emscripten.py +11 -6
  9. data/modules/emscripten/scons-tools/llvm.py +4 -3
  10. data/modules/emscripten/src/analyzer.js +32 -13
  11. data/modules/emscripten/src/embind/embind.js +13 -13
  12. data/modules/emscripten/src/embind/emval.js +8 -7
  13. data/modules/emscripten/src/intertyper.js +10 -0
  14. data/modules/emscripten/src/jsifier.js +28 -6
  15. data/modules/emscripten/src/library.js +2949 -1322
  16. data/modules/emscripten/src/library_browser.js +27 -23
  17. data/modules/emscripten/src/library_egl.js +7 -2
  18. data/modules/emscripten/src/library_gl.js +15 -2
  19. data/modules/emscripten/src/library_glut.js +1 -1
  20. data/modules/emscripten/src/library_jansson.js +1 -1
  21. data/modules/emscripten/src/library_openal.js +464 -132
  22. data/modules/emscripten/src/library_path.js +134 -0
  23. data/modules/emscripten/src/library_sdl.js +222 -50
  24. data/modules/emscripten/src/modules.js +22 -5
  25. data/modules/emscripten/src/parseTools.js +13 -2
  26. data/modules/emscripten/src/postamble.js +60 -34
  27. data/modules/emscripten/src/preamble.js +67 -18
  28. data/modules/emscripten/src/relooper/Relooper.cpp +1 -1
  29. data/modules/emscripten/src/runtime.js +12 -2
  30. data/modules/emscripten/src/settings.js +869 -826
  31. data/modules/emscripten/src/shell.js +63 -51
  32. data/modules/emscripten/src/utility.js +6 -0
  33. data/modules/emscripten/system/include/bsd/sys/mman.h +1 -1
  34. data/modules/emscripten/system/include/emscripten/bind.h +28 -28
  35. data/modules/emscripten/system/include/libc/math.h +8 -0
  36. data/modules/emscripten/system/include/libc/sys/signal.h +3 -1
  37. data/modules/emscripten/system/include/libc/sys/stat.h +2 -1
  38. data/modules/emscripten/system/include/libc/sys/types.h +4 -0
  39. data/modules/emscripten/system/include/libcxx/CREDITS.TXT +24 -0
  40. data/modules/emscripten/system/include/libcxx/__bit_reference +27 -8
  41. data/modules/emscripten/system/include/libcxx/__config +62 -15
  42. data/modules/emscripten/system/include/libcxx/__debug +5 -1
  43. data/modules/emscripten/system/include/libcxx/__functional_03 +24 -24
  44. data/modules/emscripten/system/include/libcxx/__functional_base +22 -4
  45. data/modules/emscripten/system/include/libcxx/__hash_table +566 -54
  46. data/modules/emscripten/system/include/libcxx/__locale +11 -3
  47. data/modules/emscripten/system/include/libcxx/__split_buffer +6 -6
  48. data/modules/emscripten/system/include/libcxx/__std_stream +58 -30
  49. data/modules/emscripten/system/include/libcxx/__tree +58 -51
  50. data/modules/emscripten/system/include/libcxx/__tuple +9 -9
  51. data/modules/emscripten/system/include/libcxx/algorithm +223 -13
  52. data/modules/emscripten/system/include/libcxx/array +18 -17
  53. data/modules/emscripten/system/include/libcxx/atomic +15 -5
  54. data/modules/emscripten/system/include/libcxx/cctype +2 -2
  55. data/modules/emscripten/system/include/libcxx/chrono +131 -36
  56. data/modules/emscripten/system/include/libcxx/cmath +41 -36
  57. data/modules/emscripten/system/include/libcxx/complex +49 -49
  58. data/modules/emscripten/system/include/libcxx/cstdio +2 -2
  59. data/modules/emscripten/system/include/libcxx/cstdlib +5 -5
  60. data/modules/emscripten/system/include/libcxx/cstring +2 -2
  61. data/modules/emscripten/system/include/libcxx/cwchar +22 -13
  62. data/modules/emscripten/system/include/libcxx/deque +27 -14
  63. data/modules/emscripten/system/include/libcxx/forward_list +36 -35
  64. data/modules/emscripten/system/include/libcxx/fstream +16 -0
  65. data/modules/emscripten/system/include/libcxx/functional +348 -23
  66. data/modules/emscripten/system/include/libcxx/future +66 -0
  67. data/modules/emscripten/system/include/libcxx/ios +27 -0
  68. data/modules/emscripten/system/include/libcxx/istream +2 -4
  69. data/modules/emscripten/system/include/libcxx/iterator +17 -9
  70. data/modules/emscripten/system/include/libcxx/limits +2 -2
  71. data/modules/emscripten/system/include/libcxx/list +165 -105
  72. data/modules/emscripten/system/include/libcxx/locale +154 -43
  73. data/modules/emscripten/system/include/libcxx/map +165 -224
  74. data/modules/emscripten/system/include/libcxx/memory +113 -54
  75. data/modules/emscripten/system/include/libcxx/random +2 -29
  76. data/modules/emscripten/system/include/libcxx/readme.txt +1 -1
  77. data/modules/emscripten/system/include/libcxx/regex +60 -15
  78. data/modules/emscripten/system/include/libcxx/sstream +124 -40
  79. data/modules/emscripten/system/include/libcxx/string +345 -182
  80. data/modules/emscripten/system/include/libcxx/support/win32/limits_win32.h +3 -3
  81. data/modules/emscripten/system/include/libcxx/support/win32/locale_win32.h +15 -2
  82. data/modules/emscripten/system/include/libcxx/support/win32/math_win32.h +3 -3
  83. data/modules/emscripten/system/include/libcxx/support/win32/support.h +10 -11
  84. data/modules/emscripten/system/include/libcxx/thread +2 -2
  85. data/modules/emscripten/system/include/libcxx/tuple +134 -65
  86. data/modules/emscripten/system/include/libcxx/type_traits +232 -24
  87. data/modules/emscripten/system/include/libcxx/unordered_map +314 -161
  88. data/modules/emscripten/system/include/libcxx/unordered_set +160 -2
  89. data/modules/emscripten/system/include/libcxx/utility +225 -40
  90. data/modules/emscripten/system/include/libcxx/vector +52 -57
  91. data/modules/emscripten/system/include/net/if.h +20 -1
  92. data/modules/emscripten/system/include/net/netinet/in.h +69 -5
  93. data/modules/emscripten/system/include/netdb.h +36 -0
  94. data/modules/emscripten/system/include/sys/ioctl.h +55 -3
  95. data/modules/emscripten/system/include/sys/select.h +2 -0
  96. data/modules/emscripten/system/include/sys/sendfile.h +16 -0
  97. data/modules/emscripten/system/include/sys/socket.h +181 -35
  98. data/modules/emscripten/system/lib/dlmalloc.c +10 -12
  99. data/modules/emscripten/system/lib/libc/musl/src/stdlib/ecvt.c +19 -0
  100. data/modules/emscripten/system/lib/libc/musl/src/stdlib/fcvt.c +25 -0
  101. data/modules/emscripten/system/lib/libc/musl/src/stdlib/gcvt.c +8 -0
  102. data/modules/emscripten/system/lib/libcextra.symbols +3 -0
  103. data/modules/emscripten/system/lib/libcxx/CREDITS.TXT +24 -0
  104. data/modules/emscripten/system/lib/libcxx/debug.cpp +11 -9
  105. data/modules/emscripten/system/lib/libcxx/exception.cpp +9 -0
  106. data/modules/emscripten/system/lib/libcxx/hash.cpp +6 -0
  107. data/modules/emscripten/system/lib/libcxx/iostream.cpp +4 -4
  108. data/modules/emscripten/system/lib/libcxx/locale.cpp +91 -42
  109. data/modules/emscripten/system/lib/libcxx/readme.txt +1 -1
  110. data/modules/emscripten/system/lib/libcxx/stdexcept.cpp +1 -1
  111. data/modules/emscripten/system/lib/libcxx/string.cpp +332 -491
  112. data/modules/emscripten/system/lib/libcxx/support/win32/locale_win32.cpp +4 -2
  113. data/modules/emscripten/system/lib/libcxx/support/win32/support.cpp +140 -41
  114. data/modules/emscripten/system/lib/libcxx/symbols +9 -256
  115. data/modules/emscripten/system/lib/libcxx/system_error.cpp +3 -0
  116. data/modules/emscripten/system/lib/libcxx/thread.cpp +16 -3
  117. data/modules/emscripten/system/lib/libcxx/typeinfo.cpp +12 -2
  118. data/modules/emscripten/third_party/stb_image.c +4673 -0
  119. data/modules/emscripten/tools/asm_module.py +273 -0
  120. data/modules/emscripten/tools/exec_llvm.py +2 -2
  121. data/modules/emscripten/tools/file_packager.py +36 -16
  122. data/modules/emscripten/tools/find_bigfuncs.py +9 -9
  123. data/modules/emscripten/tools/js-optimizer.js +485 -131
  124. data/modules/emscripten/tools/js_optimizer.py +22 -15
  125. data/modules/emscripten/tools/merge_asm.py +26 -0
  126. data/modules/emscripten/tools/nativize_llvm.py +2 -2
  127. data/modules/emscripten/tools/settings_template_readonly.py +1 -1
  128. data/modules/emscripten/tools/shared.py +63 -20
  129. data/modules/emscripten/tools/split_asm.py +30 -0
  130. data/modules/emscripten/tools/test-js-optimizer-asm-outline1-output.js +686 -0
  131. data/modules/emscripten/tools/test-js-optimizer-asm-outline1.js +263 -0
  132. data/modules/emscripten/tools/test-js-optimizer-asm-outline2-output.js +747 -0
  133. data/modules/emscripten/tools/{test-js-optimizer-asm-outline.js → test-js-optimizer-asm-outline2.js} +1 -1
  134. data/modules/emscripten/tools/test-js-optimizer-asm-outline3-output.js +28 -0
  135. data/modules/emscripten/tools/test-js-optimizer-asm-outline3.js +30 -0
  136. data/modules/emscripten/tools/test-js-optimizer-asm-pre-output.js +4 -4
  137. data/modules/mruby/AUTHORS +1 -0
  138. data/modules/mruby/README.md +4 -2
  139. data/modules/mruby/build_config.rb +6 -6
  140. data/modules/mruby/doc/mrbgems/README.md +4 -4
  141. data/modules/mruby/examples/mrbgems/c_and_ruby_extension_example/mrbgem.rake +1 -1
  142. data/modules/mruby/examples/mrbgems/c_extension_example/mrbgem.rake +1 -1
  143. data/modules/mruby/examples/mrbgems/ruby_extension_example/mrbgem.rake +1 -1
  144. data/modules/mruby/include/mrbconf.h +3 -0
  145. data/modules/mruby/include/mruby/array.h +2 -2
  146. data/modules/mruby/include/mruby/class.h +4 -4
  147. data/modules/mruby/include/mruby/compile.h +1 -0
  148. data/modules/mruby/include/mruby/data.h +1 -1
  149. data/modules/mruby/include/mruby/hash.h +2 -2
  150. data/modules/mruby/include/mruby/irep.h +3 -2
  151. data/modules/mruby/include/mruby/proc.h +1 -1
  152. data/modules/mruby/include/mruby/range.h +1 -1
  153. data/modules/mruby/include/mruby/string.h +2 -2
  154. data/modules/mruby/include/mruby/value.h +43 -26
  155. data/modules/mruby/include/mruby.h +10 -2
  156. data/modules/mruby/minirake +2 -2
  157. data/modules/mruby/mrbgems/mruby-array-ext/mrbgem.rake +1 -1
  158. data/modules/mruby/mrbgems/mruby-bin-mirb/mrbgem.rake +4 -1
  159. data/modules/mruby/mrbgems/mruby-bin-mirb/tools/mirb/mirb.c +32 -0
  160. data/modules/mruby/mrbgems/mruby-bin-mruby/mrbgem.rake +1 -1
  161. data/modules/mruby/mrbgems/mruby-bin-mruby/tools/mruby/mruby.c +13 -5
  162. data/modules/mruby/mrbgems/mruby-enum-ext/mrbgem.rake +1 -1
  163. data/modules/mruby/mrbgems/mruby-enum-ext/test/enum.rb +10 -11
  164. data/modules/mruby/mrbgems/mruby-eval/mrbgem.rake +1 -1
  165. data/modules/mruby/mrbgems/mruby-exit/mrbgem.rake +4 -0
  166. data/modules/mruby/mrbgems/mruby-exit/src/mruby-exit.c +24 -0
  167. data/modules/mruby/mrbgems/mruby-fiber/mrbgem.rake +1 -1
  168. data/modules/mruby/mrbgems/mruby-fiber/src/fiber.c +4 -2
  169. data/modules/mruby/mrbgems/mruby-hash-ext/mrbgem.rake +1 -1
  170. data/modules/mruby/mrbgems/mruby-hash-ext/test/hash.rb +5 -7
  171. data/modules/mruby/mrbgems/mruby-math/mrbgem.rake +1 -1
  172. data/modules/mruby/mrbgems/mruby-numeric-ext/mrbgem.rake +1 -1
  173. data/modules/mruby/mrbgems/mruby-numeric-ext/test/numeric.rb +2 -2
  174. data/modules/mruby/mrbgems/mruby-object-ext/mrbgem.rake +1 -1
  175. data/modules/mruby/mrbgems/mruby-object-ext/src/object.c +3 -3
  176. data/modules/mruby/mrbgems/mruby-object-ext/test/nil.rb +3 -3
  177. data/modules/mruby/mrbgems/mruby-object-ext/test/object.rb +1 -1
  178. data/modules/mruby/mrbgems/mruby-objectspace/mrbgem.rake +1 -1
  179. data/modules/mruby/mrbgems/mruby-objectspace/test/objectspace.rb +36 -37
  180. data/modules/mruby/mrbgems/mruby-print/mrbgem.rake +1 -1
  181. data/modules/mruby/mrbgems/mruby-proc-ext/mrbgem.rake +1 -1
  182. data/modules/mruby/mrbgems/mruby-proc-ext/test/proc.rb +8 -8
  183. data/modules/mruby/mrbgems/mruby-random/mrbgem.rake +1 -1
  184. data/modules/mruby/mrbgems/mruby-range-ext/mrbgem.rake +1 -1
  185. data/modules/mruby/mrbgems/mruby-range-ext/test/range.rb +6 -6
  186. data/modules/mruby/mrbgems/mruby-sprintf/mrbgem.rake +1 -1
  187. data/modules/mruby/mrbgems/mruby-string-ext/mrbgem.rake +1 -1
  188. data/modules/mruby/mrbgems/mruby-string-ext/test/string.rb +6 -6
  189. data/modules/mruby/mrbgems/mruby-struct/mrbgem.rake +1 -1
  190. data/modules/mruby/mrbgems/mruby-symbol-ext/mrbgem.rake +1 -1
  191. data/modules/mruby/mrbgems/mruby-symbol-ext/test/symbol.rb +2 -2
  192. data/modules/mruby/mrbgems/mruby-time/mrbgem.rake +1 -1
  193. data/modules/mruby/mrbgems/mruby-time/src/time.c +2 -8
  194. data/modules/mruby/mrbgems/mruby-toplevel-ext/mrbgem.rake +1 -1
  195. data/modules/mruby/mrbgems/mruby-toplevel-ext/test/toplevel.rb +10 -10
  196. data/modules/mruby/mrblib/class.rb +15 -9
  197. data/modules/mruby/mrblib/string.rb +12 -0
  198. data/modules/mruby/src/array.c +4 -3
  199. data/modules/mruby/src/class.c +13 -8
  200. data/modules/mruby/src/codegen.c +9 -8
  201. data/modules/mruby/src/error.c +7 -5
  202. data/modules/mruby/src/error.h +1 -0
  203. data/modules/mruby/src/etc.c +1 -1
  204. data/modules/mruby/src/gc.c +163 -128
  205. data/modules/mruby/src/kernel.c +43 -15
  206. data/modules/mruby/src/numeric.c +9 -7
  207. data/modules/mruby/src/object.c +1 -1
  208. data/modules/mruby/src/parse.y +37 -19
  209. data/modules/mruby/src/range.c +10 -24
  210. data/modules/mruby/src/state.c +2 -6
  211. data/modules/mruby/src/string.c +0 -9
  212. data/modules/mruby/src/variable.c +2 -2
  213. data/modules/mruby/src/vm.c +12 -6
  214. data/modules/mruby/tasks/mrbgem_spec.rake +7 -0
  215. data/modules/mruby/tasks/mrbgems.rake +2 -1
  216. data/modules/mruby/tasks/mrbgems_test.rake +1 -1
  217. data/modules/mruby/tasks/mruby_build.rake +4 -3
  218. data/modules/mruby/tasks/mruby_build_commands.rake +6 -1
  219. data/modules/mruby/tasks/mruby_build_gem.rake +2 -2
  220. data/modules/mruby/tasks/toolchains/androideabi.rake +2 -0
  221. data/modules/mruby/test/assert.rb +2 -2
  222. data/modules/mruby/test/t/argumenterror.rb +3 -3
  223. data/modules/mruby/test/t/array.rb +55 -55
  224. data/modules/mruby/test/t/basicobject.rb +1 -1
  225. data/modules/mruby/test/t/bs_block.rb +12 -12
  226. data/modules/mruby/test/t/class.rb +21 -21
  227. data/modules/mruby/test/t/enumerable.rb +18 -18
  228. data/modules/mruby/test/t/exception.rb +20 -20
  229. data/modules/mruby/test/t/false.rb +3 -3
  230. data/modules/mruby/test/t/float.rb +40 -40
  231. data/modules/mruby/test/t/gc.rb +10 -10
  232. data/modules/mruby/test/t/hash.rb +41 -41
  233. data/modules/mruby/test/t/indexerror.rb +2 -2
  234. data/modules/mruby/test/t/integer.rb +41 -41
  235. data/modules/mruby/test/t/kernel.rb +33 -33
  236. data/modules/mruby/test/t/literals.rb +82 -82
  237. data/modules/mruby/test/t/localjumperror.rb +1 -1
  238. data/modules/mruby/test/t/module.rb +170 -31
  239. data/modules/mruby/test/t/nameerror.rb +5 -5
  240. data/modules/mruby/test/t/nil.rb +2 -2
  241. data/modules/mruby/test/t/nomethoderror.rb +1 -1
  242. data/modules/mruby/test/t/numeric.rb +5 -5
  243. data/modules/mruby/test/t/object.rb +2 -2
  244. data/modules/mruby/test/t/proc.rb +8 -8
  245. data/modules/mruby/test/t/range.rb +9 -9
  246. data/modules/mruby/test/t/rangeerror.rb +2 -2
  247. data/modules/mruby/test/t/runtimeerror.rb +1 -1
  248. data/modules/mruby/test/t/standarderror.rb +2 -2
  249. data/modules/mruby/test/t/string.rb +100 -100
  250. data/modules/mruby/test/t/symbol.rb +5 -5
  251. data/modules/mruby/test/t/syntax.rb +15 -6
  252. data/modules/mruby/test/t/true.rb +3 -3
  253. data/modules/mruby/test/t/typeerror.rb +2 -2
  254. data/modules/mruby/tools/mrbc/mrbc.c +10 -4
  255. data/modules/mruby/travis_config.rb +1 -0
  256. data/scripts/gen_gems_config.rb +5 -1
  257. metadata +19 -4
  258. data/modules/emscripten/tools/test-js-optimizer-asm-outline-output.js +0 -570
@@ -0,0 +1,686 @@
1
+ function lin() {
2
+ var sp = 0;
3
+ sp = STACKTOP;
4
+ STACKTOP = STACKTOP + 136 | 0;
5
+ c(1);
6
+ c(2);
7
+ c(3);
8
+ c(4);
9
+ HEAP32[sp + 16 >> 2] = 0;
10
+ HEAP32[sp + 20 >> 2] = 0;
11
+ lin$1(sp);
12
+ HEAP32[sp + 8 >> 2] = 0;
13
+ HEAP32[sp + 12 >> 2] = 0;
14
+ lin$0(sp);
15
+ STACKTOP = sp;
16
+ }
17
+ function lin2() {
18
+ var sp = 0;
19
+ sp = STACKTOP;
20
+ STACKTOP = STACKTOP + 136 | 0;
21
+ while (1) {
22
+ c(1);
23
+ c(2);
24
+ c(3);
25
+ c(4);
26
+ HEAP32[sp + 16 >> 2] = 0;
27
+ HEAP32[sp + 20 >> 2] = 0;
28
+ lin2$1(sp);
29
+ HEAP32[sp + 8 >> 2] = 0;
30
+ HEAP32[sp + 12 >> 2] = 0;
31
+ lin2$0(sp);
32
+ }
33
+ STACKTOP = sp;
34
+ }
35
+ function lin3() {
36
+ var sp = 0;
37
+ sp = STACKTOP;
38
+ STACKTOP = STACKTOP + 152 | 0;
39
+ while (1) {
40
+ c(1);
41
+ c(2);
42
+ c(3);
43
+ c(4);
44
+ c(5);
45
+ HEAP32[sp + 16 >> 2] = 0;
46
+ HEAP32[sp + 20 >> 2] = 0;
47
+ lin3$1(sp);
48
+ HEAP32[sp + 8 >> 2] = 0;
49
+ HEAP32[sp + 12 >> 2] = 0;
50
+ lin3$0(sp);
51
+ tempValue = HEAP32[sp + 8 >> 2] | 0;
52
+ tempInt = HEAP32[sp + 12 >> 2] | 0;
53
+ tempDouble = +HEAPF32[sp + 12 >> 2];
54
+ HEAP32[sp + 8 >> 2] = 0;
55
+ HEAP32[sp + 12 >> 2] = 0;
56
+ if ((tempValue | 0) == 6) {
57
+ STACKTOP = sp;
58
+ return tempInt | 0;
59
+ }
60
+ }
61
+ STACKTOP = sp;
62
+ return 20;
63
+ }
64
+ function lin4() {
65
+ var sp = 0;
66
+ sp = STACKTOP;
67
+ STACKTOP = STACKTOP + 152 | 0;
68
+ while (1) {
69
+ c(1);
70
+ c(2);
71
+ c(3);
72
+ c(4);
73
+ HEAP32[sp + 16 >> 2] = 0;
74
+ HEAP32[sp + 20 >> 2] = 0;
75
+ lin4$1(sp);
76
+ HEAP32[sp + 8 >> 2] = 0;
77
+ HEAP32[sp + 12 >> 2] = 0;
78
+ lin4$0(sp);
79
+ tempValue = HEAP32[sp + 8 >> 2] | 0;
80
+ tempInt = HEAP32[sp + 12 >> 2] | 0;
81
+ tempDouble = +HEAPF32[sp + 12 >> 2];
82
+ HEAP32[sp + 8 >> 2] = 0;
83
+ HEAP32[sp + 12 >> 2] = 0;
84
+ if ((tempValue | 0) == 1) {
85
+ break;
86
+ }
87
+ }
88
+ STACKTOP = sp;
89
+ return 20;
90
+ }
91
+ function lin5() {
92
+ var sp = 0;
93
+ sp = STACKTOP;
94
+ STACKTOP = STACKTOP + 152 | 0;
95
+ while (1) {
96
+ c(1);
97
+ c(2);
98
+ c(3);
99
+ c(4);
100
+ HEAP32[sp + 16 >> 2] = 0;
101
+ HEAP32[sp + 20 >> 2] = 0;
102
+ lin5$1(sp);
103
+ HEAP32[sp + 8 >> 2] = 0;
104
+ HEAP32[sp + 12 >> 2] = 0;
105
+ lin5$0(sp);
106
+ tempValue = HEAP32[sp + 8 >> 2] | 0;
107
+ tempInt = HEAP32[sp + 12 >> 2] | 0;
108
+ tempDouble = +HEAPF32[sp + 12 >> 2];
109
+ HEAP32[sp + 8 >> 2] = 0;
110
+ HEAP32[sp + 12 >> 2] = 0;
111
+ if ((tempValue | 0) == 3) {
112
+ continue;
113
+ }
114
+ }
115
+ STACKTOP = sp;
116
+ return 20;
117
+ }
118
+ function mix() {
119
+ var sp = 0;
120
+ sp = STACKTOP;
121
+ STACKTOP = STACKTOP + 168 | 0;
122
+ main : while (1) {
123
+ c(1);
124
+ c(2);
125
+ c(3);
126
+ c(4);
127
+ c(5);
128
+ c(6);
129
+ c(7);
130
+ HEAP32[sp + 16 >> 2] = 0;
131
+ HEAP32[sp + 20 >> 2] = 0;
132
+ mix$1(sp);
133
+ HEAP32[sp + 8 >> 2] = 0;
134
+ HEAP32[sp + 12 >> 2] = 0;
135
+ mix$0(sp);
136
+ tempValue = HEAP32[sp + 8 >> 2] | 0;
137
+ tempInt = HEAP32[sp + 12 >> 2] | 0;
138
+ tempDouble = +HEAPF32[sp + 12 >> 2];
139
+ HEAP32[sp + 8 >> 2] = 0;
140
+ HEAP32[sp + 12 >> 2] = 0;
141
+ if ((tempValue | 0) == 1) {
142
+ break;
143
+ }
144
+ if ((tempValue | 0) == 2) {
145
+ switch (tempInt | 0) {
146
+ case 2:
147
+ {
148
+ break main;
149
+ }
150
+ }
151
+ }
152
+ if ((tempValue | 0) == 3) {
153
+ continue;
154
+ }
155
+ if ((tempValue | 0) == 4) {
156
+ switch (tempInt | 0) {
157
+ case 3:
158
+ {
159
+ continue main;
160
+ }
161
+ }
162
+ }
163
+ }
164
+ STACKTOP = sp;
165
+ return 20;
166
+ }
167
+ function vars(x, y) {
168
+ x = x | 0;
169
+ y = +y;
170
+ var sp = 0;
171
+ sp = STACKTOP;
172
+ STACKTOP = STACKTOP + 152 | 0;
173
+ HEAP32[sp + 32 >> 2] = 0;
174
+ HEAP32[sp + 36 >> 2] = 0;
175
+ HEAP32[sp + 8 >> 2] = x;
176
+ HEAPF32[sp + 16 >> 2] = y;
177
+ vars$1(sp);
178
+ HEAP32[sp + 24 >> 2] = 0;
179
+ HEAP32[sp + 28 >> 2] = 0;
180
+ HEAP32[sp + 8 >> 2] = x;
181
+ HEAPF32[sp + 16 >> 2] = y;
182
+ vars$0(sp);
183
+ STACKTOP = sp;
184
+ }
185
+ function vars2(x, y) {
186
+ x = x | 0;
187
+ y = +y;
188
+ var a = 0, b = +0, sp = 0;
189
+ sp = STACKTOP;
190
+ STACKTOP = STACKTOP + 152 | 0;
191
+ a = x + y;
192
+ b = y * x;
193
+ a = c(1 + a);
194
+ b = c(2 + b);
195
+ HEAP32[sp + 40 >> 2] = 0;
196
+ HEAP32[sp + 44 >> 2] = 0;
197
+ HEAP32[sp + 24 >> 2] = a;
198
+ HEAPF32[sp + 32 >> 2] = b;
199
+ vars2$0(sp);
200
+ a = HEAP32[sp + 24 >> 2] | 0;
201
+ b = +HEAPF32[sp + 32 >> 2];
202
+ STACKTOP = sp;
203
+ }
204
+ function vars3(x, y) {
205
+ x = x | 0;
206
+ y = +y;
207
+ var a = 0, sp = 0;
208
+ sp = STACKTOP;
209
+ STACKTOP = STACKTOP + 160 | 0;
210
+ HEAP32[sp + 40 >> 2] = 0;
211
+ HEAP32[sp + 44 >> 2] = 0;
212
+ HEAP32[sp + 24 >> 2] = a;
213
+ HEAP32[sp + 8 >> 2] = x;
214
+ HEAPF32[sp + 16 >> 2] = y;
215
+ vars3$1(sp);
216
+ a = HEAP32[sp + 24 >> 2] | 0;
217
+ HEAP32[sp + 32 >> 2] = 0;
218
+ HEAP32[sp + 36 >> 2] = 0;
219
+ HEAP32[sp + 24 >> 2] = a;
220
+ HEAPF32[sp + 16 >> 2] = y;
221
+ HEAP32[sp + 8 >> 2] = x;
222
+ vars3$0(sp);
223
+ a = HEAP32[sp + 24 >> 2] | 0;
224
+ STACKTOP = sp;
225
+ }
226
+ function vars4(x, y) {
227
+ x = x | 0;
228
+ y = +y;
229
+ var a = 0, b = +0, sp = 0;
230
+ sp = STACKTOP;
231
+ STACKTOP = STACKTOP + 168 | 0;
232
+ a = x + y;
233
+ HEAP32[sp + 48 >> 2] = 0;
234
+ HEAP32[sp + 52 >> 2] = 0;
235
+ HEAPF32[sp + 16 >> 2] = y;
236
+ HEAP32[sp + 8 >> 2] = x;
237
+ HEAP32[sp + 24 >> 2] = a;
238
+ HEAPF32[sp + 32 >> 2] = b;
239
+ vars4$1(sp);
240
+ b = +HEAPF32[sp + 32 >> 2];
241
+ a = HEAP32[sp + 24 >> 2] | 0;
242
+ HEAP32[sp + 40 >> 2] = 0;
243
+ HEAP32[sp + 44 >> 2] = 0;
244
+ HEAP32[sp + 24 >> 2] = a;
245
+ HEAP32[sp + 8 >> 2] = x;
246
+ HEAPF32[sp + 32 >> 2] = b;
247
+ vars4$0(sp);
248
+ a = HEAP32[sp + 24 >> 2] | 0;
249
+ b = +HEAPF32[sp + 32 >> 2];
250
+ STACKTOP = sp;
251
+ }
252
+ function vars_w_stack(x, y) {
253
+ x = x | 0;
254
+ y = +y;
255
+ var a = 0, b = +0, sp = 0;
256
+ sp = STACKTOP;
257
+ STACKTOP = STACKTOP + 208 | 0;
258
+ a = x + y;
259
+ HEAP32[sp + 72 >> 2] = 0;
260
+ HEAP32[sp + 76 >> 2] = 0;
261
+ HEAPF32[sp + 32 >> 2] = y;
262
+ HEAP32[sp + 24 >> 2] = x;
263
+ HEAP32[sp + 40 >> 2] = a;
264
+ HEAPF32[sp + 48 >> 2] = b;
265
+ vars_w_stack$1(sp);
266
+ b = +HEAPF32[sp + 48 >> 2];
267
+ a = HEAP32[sp + 40 >> 2] | 0;
268
+ HEAP32[sp + 64 >> 2] = 0;
269
+ HEAP32[sp + 68 >> 2] = 0;
270
+ HEAP32[sp + 40 >> 2] = a;
271
+ HEAPF32[sp + 48 >> 2] = b;
272
+ vars_w_stack$0(sp);
273
+ a = HEAP32[sp + 40 >> 2] | 0;
274
+ b = +HEAPF32[sp + 48 >> 2];
275
+ }
276
+ function chain() {
277
+ var helper$0 = 0, sp = 0;
278
+ sp = STACKTOP;
279
+ STACKTOP = STACKTOP + 336 | 0;
280
+ helper$0 = 1;
281
+ HEAP32[sp + 56 >> 2] = 0;
282
+ HEAP32[sp + 60 >> 2] = 0;
283
+ HEAP32[sp + 8 >> 2] = helper$0;
284
+ chain$5(sp);
285
+ helper$0 = HEAP32[sp + 8 >> 2] | 0;
286
+ HEAP32[sp + 48 >> 2] = 0;
287
+ HEAP32[sp + 52 >> 2] = 0;
288
+ HEAP32[sp + 8 >> 2] = helper$0;
289
+ chain$4(sp);
290
+ helper$0 = HEAP32[sp + 8 >> 2] | 0;
291
+ HEAP32[sp + 40 >> 2] = 0;
292
+ HEAP32[sp + 44 >> 2] = 0;
293
+ HEAP32[sp + 8 >> 2] = helper$0;
294
+ chain$3(sp);
295
+ helper$0 = HEAP32[sp + 8 >> 2] | 0;
296
+ HEAP32[sp + 32 >> 2] = 0;
297
+ HEAP32[sp + 36 >> 2] = 0;
298
+ HEAP32[sp + 8 >> 2] = helper$0;
299
+ chain$2(sp);
300
+ helper$0 = HEAP32[sp + 8 >> 2] | 0;
301
+ HEAP32[sp + 24 >> 2] = 0;
302
+ HEAP32[sp + 28 >> 2] = 0;
303
+ HEAP32[sp + 8 >> 2] = helper$0;
304
+ chain$1(sp);
305
+ helper$0 = HEAP32[sp + 8 >> 2] | 0;
306
+ HEAP32[sp + 16 >> 2] = 0;
307
+ HEAP32[sp + 20 >> 2] = 0;
308
+ HEAP32[sp + 8 >> 2] = helper$0;
309
+ chain$0(sp);
310
+ helper$0 = HEAP32[sp + 8 >> 2] | 0;
311
+ STACKTOP = sp;
312
+ }
313
+ function lin$0(sp) {
314
+ sp = sp | 0;
315
+ c(13);
316
+ c(14);
317
+ c(15);
318
+ c(16);
319
+ c(17);
320
+ c(18);
321
+ c(19);
322
+ c(20);
323
+ }
324
+ function lin$1(sp) {
325
+ sp = sp | 0;
326
+ c(5);
327
+ c(6);
328
+ c(7);
329
+ c(8);
330
+ c(9);
331
+ c(10);
332
+ c(11);
333
+ c(12);
334
+ }
335
+ function lin2$0(sp) {
336
+ sp = sp | 0;
337
+ c(13);
338
+ c(14);
339
+ c(15);
340
+ c(16);
341
+ c(17);
342
+ c(18);
343
+ c(19);
344
+ c(20);
345
+ }
346
+ function lin2$1(sp) {
347
+ sp = sp | 0;
348
+ c(5);
349
+ c(6);
350
+ c(7);
351
+ c(8);
352
+ c(9);
353
+ c(10);
354
+ c(11);
355
+ c(12);
356
+ }
357
+ function lin3$0(sp) {
358
+ sp = sp | 0;
359
+ OL : do {
360
+ c(14);
361
+ c(15);
362
+ c(16);
363
+ c(17);
364
+ c(18);
365
+ c(19);
366
+ c(20);
367
+ HEAP32[sp + 8 >> 2] = 6;
368
+ HEAP32[sp + 12 >> 2] = 10;
369
+ break OL;
370
+ } while (0);
371
+ }
372
+ function lin3$1(sp) {
373
+ sp = sp | 0;
374
+ c(6);
375
+ c(7);
376
+ c(8);
377
+ c(9);
378
+ c(10);
379
+ c(11);
380
+ c(12);
381
+ c(13);
382
+ }
383
+ function lin4$0(sp) {
384
+ sp = sp | 0;
385
+ OL : do {
386
+ c(13);
387
+ c(14);
388
+ c(15);
389
+ c(16);
390
+ c(17);
391
+ c(18);
392
+ c(19);
393
+ c(20);
394
+ HEAP32[sp + 8 >> 2] = 1;
395
+ break OL;
396
+ } while (0);
397
+ }
398
+ function lin4$1(sp) {
399
+ sp = sp | 0;
400
+ c(5);
401
+ c(6);
402
+ c(7);
403
+ c(8);
404
+ c(9);
405
+ c(10);
406
+ c(11);
407
+ c(12);
408
+ }
409
+ function lin5$0(sp) {
410
+ sp = sp | 0;
411
+ OL : do {
412
+ c(13);
413
+ c(14);
414
+ c(15);
415
+ c(16);
416
+ c(17);
417
+ c(18);
418
+ c(19);
419
+ c(20);
420
+ HEAP32[sp + 8 >> 2] = 3;
421
+ break OL;
422
+ } while (0);
423
+ }
424
+ function lin5$1(sp) {
425
+ sp = sp | 0;
426
+ c(5);
427
+ c(6);
428
+ c(7);
429
+ c(8);
430
+ c(9);
431
+ c(10);
432
+ c(11);
433
+ c(12);
434
+ }
435
+ function mix$0(sp) {
436
+ sp = sp | 0;
437
+ OL : do {
438
+ c(16);
439
+ c(17);
440
+ HEAP32[sp + 8 >> 2] = 2;
441
+ HEAP32[sp + 12 >> 2] = 2;
442
+ break OL;
443
+ c(18);
444
+ HEAP32[sp + 8 >> 2] = 1;
445
+ break OL;
446
+ while (1) {
447
+ break;
448
+ }
449
+ inner : while (1) {
450
+ break inner;
451
+ }
452
+ c(19);
453
+ HEAP32[sp + 8 >> 2] = 3;
454
+ break OL;
455
+ c(20);
456
+ HEAP32[sp + 8 >> 2] = 4;
457
+ HEAP32[sp + 12 >> 2] = 3;
458
+ break OL;
459
+ } while (0);
460
+ }
461
+ function mix$1(sp) {
462
+ sp = sp | 0;
463
+ c(8);
464
+ c(9);
465
+ c(10);
466
+ c(11);
467
+ c(12);
468
+ c(13);
469
+ c(14);
470
+ c(15);
471
+ }
472
+ function vars$0(sp) {
473
+ sp = sp | 0;
474
+ var x = 0, y = +0;
475
+ y = +HEAPF32[sp + 16 >> 2];
476
+ x = HEAP32[sp + 8 >> 2] | 0;
477
+ c(5 + (x + y));
478
+ c(6 + y * x);
479
+ c(7 + (x + y));
480
+ c(8 + y * x);
481
+ }
482
+ function vars$1(sp) {
483
+ sp = sp | 0;
484
+ var x = 0, y = +0;
485
+ y = +HEAPF32[sp + 16 >> 2];
486
+ x = HEAP32[sp + 8 >> 2] | 0;
487
+ c(1 + (x + y));
488
+ c(2 + y * x);
489
+ c(3 + (x + y));
490
+ c(4 + y * x);
491
+ }
492
+ function vars2$0(sp) {
493
+ sp = sp | 0;
494
+ var a = 0, b = +0;
495
+ b = +HEAPF32[sp + 32 >> 2];
496
+ a = HEAP32[sp + 24 >> 2] | 0;
497
+ a = c(3 + a);
498
+ b = c(4 + b);
499
+ a = c(5 + a);
500
+ b = c(6 + b);
501
+ HEAP32[sp + 24 >> 2] = a;
502
+ HEAPF32[sp + 32 >> 2] = b;
503
+ }
504
+ function vars3$0(sp) {
505
+ sp = sp | 0;
506
+ var a = 0, y = +0, x = 0;
507
+ x = HEAP32[sp + 8 >> 2] | 0;
508
+ y = +HEAPF32[sp + 16 >> 2];
509
+ a = HEAP32[sp + 24 >> 2] | 0;
510
+ a = c(4 + y * x);
511
+ a = c(5 + a);
512
+ a = c(6 + y * x);
513
+ a = c(7 + a);
514
+ HEAP32[sp + 24 >> 2] = a;
515
+ }
516
+ function vars3$1(sp) {
517
+ sp = sp | 0;
518
+ var a = 0, x = 0, y = +0;
519
+ y = +HEAPF32[sp + 16 >> 2];
520
+ x = HEAP32[sp + 8 >> 2] | 0;
521
+ a = HEAP32[sp + 24 >> 2] | 0;
522
+ a = x + y;
523
+ a = c(1 + a);
524
+ a = c(2 + y * x);
525
+ a = c(3 + a);
526
+ HEAP32[sp + 24 >> 2] = a;
527
+ }
528
+ function vars4$0(sp) {
529
+ sp = sp | 0;
530
+ var a = 0, x = 0, b = +0;
531
+ b = +HEAPF32[sp + 32 >> 2];
532
+ x = HEAP32[sp + 8 >> 2] | 0;
533
+ a = HEAP32[sp + 24 >> 2] | 0;
534
+ a = c(4 + a);
535
+ a = c(5 + a);
536
+ a = c(6 + a);
537
+ b = c(7 + a + x);
538
+ HEAP32[sp + 24 >> 2] = a;
539
+ HEAPF32[sp + 32 >> 2] = b;
540
+ }
541
+ function vars4$1(sp) {
542
+ sp = sp | 0;
543
+ var y = +0, x = 0, a = 0, b = +0;
544
+ b = +HEAPF32[sp + 32 >> 2];
545
+ a = HEAP32[sp + 24 >> 2] | 0;
546
+ x = HEAP32[sp + 8 >> 2] | 0;
547
+ y = +HEAPF32[sp + 16 >> 2];
548
+ b = y * x;
549
+ a = c(1 + a);
550
+ a = c(2 + a);
551
+ a = c(3 + a);
552
+ HEAPF32[sp + 32 >> 2] = b;
553
+ HEAP32[sp + 24 >> 2] = a;
554
+ }
555
+ function vars_w_stack$0(sp) {
556
+ sp = sp | 0;
557
+ var a = 0, b = +0;
558
+ b = +HEAPF32[sp + 48 >> 2];
559
+ a = HEAP32[sp + 40 >> 2] | 0;
560
+ a = c(4 + a);
561
+ a = c(5 + a);
562
+ a = c(6 + a);
563
+ b = c(7 + a);
564
+ STACKTOP = sp;
565
+ HEAP32[sp + 40 >> 2] = a;
566
+ HEAPF32[sp + 48 >> 2] = b;
567
+ }
568
+ function vars_w_stack$1(sp) {
569
+ sp = sp | 0;
570
+ var y = +0, x = 0, a = 0, b = +0;
571
+ b = +HEAPF32[sp + 48 >> 2];
572
+ a = HEAP32[sp + 40 >> 2] | 0;
573
+ x = HEAP32[sp + 24 >> 2] | 0;
574
+ y = +HEAPF32[sp + 32 >> 2];
575
+ b = y * x;
576
+ a = c(1 + a);
577
+ a = c(2 + a);
578
+ a = c(3 + a);
579
+ HEAPF32[sp + 48 >> 2] = b;
580
+ HEAP32[sp + 40 >> 2] = a;
581
+ }
582
+ function chain$0(sp) {
583
+ sp = sp | 0;
584
+ var helper$0 = 0;
585
+ helper$0 = HEAP32[sp + 8 >> 2] | 0;
586
+ if (helper$0) {
587
+ helper$0 = 0;
588
+ if (x == 11) {
589
+ print(11);
590
+ } else if (x == 12) {
591
+ print(12);
592
+ } else {
593
+ helper$0 = 1;
594
+ }
595
+ }
596
+ if (helper$0) {
597
+ helper$0 = 0;
598
+ if (1) {
599
+ print(99);
600
+ } else {
601
+ helper$0 = 1;
602
+ }
603
+ }
604
+ HEAP32[sp + 8 >> 2] = helper$0;
605
+ }
606
+ function chain$1(sp) {
607
+ sp = sp | 0;
608
+ var helper$0 = 0;
609
+ helper$0 = HEAP32[sp + 8 >> 2] | 0;
610
+ if (helper$0) {
611
+ helper$0 = 0;
612
+ if (x == 9) {
613
+ print(9);
614
+ } else if (x == 10) {
615
+ print(10);
616
+ } else {
617
+ helper$0 = 1;
618
+ }
619
+ }
620
+ HEAP32[sp + 8 >> 2] = helper$0;
621
+ }
622
+ function chain$2(sp) {
623
+ sp = sp | 0;
624
+ var helper$0 = 0;
625
+ helper$0 = HEAP32[sp + 8 >> 2] | 0;
626
+ if (helper$0) {
627
+ helper$0 = 0;
628
+ if (x == 7) {
629
+ print(7);
630
+ } else if (x == 8) {
631
+ print(8);
632
+ } else {
633
+ helper$0 = 1;
634
+ }
635
+ }
636
+ HEAP32[sp + 8 >> 2] = helper$0;
637
+ }
638
+ function chain$3(sp) {
639
+ sp = sp | 0;
640
+ var helper$0 = 0;
641
+ helper$0 = HEAP32[sp + 8 >> 2] | 0;
642
+ if (helper$0) {
643
+ helper$0 = 0;
644
+ if (x == 5) {
645
+ print(5);
646
+ } else if (x == 6) {
647
+ print(6);
648
+ } else {
649
+ helper$0 = 1;
650
+ }
651
+ }
652
+ HEAP32[sp + 8 >> 2] = helper$0;
653
+ }
654
+ function chain$4(sp) {
655
+ sp = sp | 0;
656
+ var helper$0 = 0;
657
+ helper$0 = HEAP32[sp + 8 >> 2] | 0;
658
+ if (helper$0) {
659
+ helper$0 = 0;
660
+ if (x == 3) {
661
+ print(3);
662
+ } else if (x == 4) {
663
+ print(4);
664
+ } else {
665
+ helper$0 = 1;
666
+ }
667
+ }
668
+ HEAP32[sp + 8 >> 2] = helper$0;
669
+ }
670
+ function chain$5(sp) {
671
+ sp = sp | 0;
672
+ var helper$0 = 0;
673
+ helper$0 = HEAP32[sp + 8 >> 2] | 0;
674
+ if (helper$0) {
675
+ helper$0 = 0;
676
+ if (x == 1) {
677
+ print(1);
678
+ } else if (x == 2) {
679
+ print(2);
680
+ } else {
681
+ helper$0 = 1;
682
+ }
683
+ }
684
+ HEAP32[sp + 8 >> 2] = helper$0;
685
+ }
686
+