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/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 217 files changed, 367852 insertions(+), 147541 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') 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€€Ã>aËgAMA± üa cHRMz&€„ú€èu0ê`:˜pœºQ<bKGDùC» pHYs  ÒÝ~ü`ÏIDATxÚíýw|ÕÕø¿ïÙ]­$Iq/˜^L %„FB³Mo JBË“'l“„BǸH¶!FèƒcŒ«Ü­.IVï[fæ~ÿ¸3³»’lLyžäùü~çõ²µ;mïÜsîéç\±öÓ‡¥P(”R @‘ô÷K€@€!BH÷¯`óæ-ìܱó°÷:Ê@ +‰aC ‘úŽ›ÓùúÃÁ5×\û¥Æÿÿ*È/¼B4ú?žg}¥9òâßöâ ¼ðoûíÿ$0ä"\ò;›öšå\ôs›´ìóüs/?`~Á½‡A¾ø÷À¢… ¹êê«ÿ­cø"$.ô?ïSot:ßúƱ)ß3.\Ÿò}û=3üÏãæ­êt¿øB\òˆEûÁå8±i9©}+å;¤…‡l!»Fþ¦M›¾”R`˜Æ×R$˜ß*$#߃d"èˆ|<"HF¾‰à EÀ%¤²}Ló?{ÈOþ©}‹ïþü5~ü¥ÿͱR"¥Ôàk¬ü#Aì‘@2òAs‚ÿ4è +ù‡;ÞºB~—sq¸“ÉÈ÷9×ÿœ¼Ú“¡+‚ÉOu4‘¯œ#[­yØ<“÷O.z?Ïÿ Wÿ—…ŽÈ÷à?‘þ7 KÞqÕ{ìß#»=hBHÉè™à‡Zõ‘Hä°\ü¾MfzM)Ç›ÿOÿsÆào£p¸êlã{þoèß4HÑ1ß¹óMá½{gûŸ”ϑڷˆÔ¾EZÎ>GHæ žI¿ÞY‡ýñƒrðàÁCž*÷ À¡¥­”"c&À.MP¥X´Â扅¯ñä¢×yrÑëä½o'½è<ðŸÃ ºRøwü«‚ôY3ù$#»#Dj×%Ëþd‚¨Ú÷*%[ÿJ¿ÞYàÒ?u6!Ç¢­­½ËßÐȇÌp´ã!*ñ ×;Aú „EÒ¶÷íâ˜y–á¾ä‘!߃ÿT"èø½£ÆŸ|¬+¿«c¦4$w,ŒSZaÓ w)åÛ_"@†Â¾5e¿™Ñ=å +èÝ+ hN9^}°!ÊÑHó”¼gòÏ«*x…ŒAg»ŠƒJZýB€jE‘Fë¾wõ!×·à—E¾ÿ)â #Òïz#Ãÿü‡ [»$ºBxG0ò”‰KÀNAöq—R]]$Ÿ¬ ôÌè@mM 9½z±wž~`ä'Õ[,¹-¡v´´µ!…Ä‘ŽOyt D…^ý"ˆR6®2é¤AýQ$Ÿ9ø;,^¡¸ú\þã`Ù²e\~ùå_xíŽÈØGÊüO—,è¼h_¹ÆHù~Á­IùþÖoOJù.ò·|¦®ÍsèÕ'D]«â@~-ÐYñK CÆ]Jey•ÿ=§W/ªö½J¸Ÿ^­í•+>áG”lý+=ží@sS#«WLKK O,|[®ºEïEÉ ÷¤¥½T„Ö}º¿ Hï?åD2LÛ ‰ãŽ™NÛ5>d :„@rõ¹©"¾¤ :{ÖU޽ÿþ +¥¶DZm'ÁÁ|1ä8؎²mP`;¶mƒJŒA&ÓDJ‰”R„!Àˆ³ïîrL W”Q^ÕÄ¡À#‚ŽÈïŠLÃOST7+úåt£u 4—l cðÑ´îÝMûÁå)&àq—úŸ=Ö_KBùk¯\A¸ßÙ„ûM¿ÞY>òö¯àŠÇÏfém&ݺ÷ ©9ñO-zCOÜ€ÓÈ÷ µ=BúÀ“iÛÿ1(EÛ„ûG©¸|¥´íÿûZQ”Z_A.·¹æšŒÁG©~€êê:bÍøß#µoaE>ö¿{«4H™Š$Þ£Gw”£|… õÀjZÛ»¼áŒc Îgð³§qáÙSùÎÙÇrþ¤1¤8ÞÕb L­{ßäÏóÿ…D{¿Ì?„ÔÈÿ&@}¹àÙáàŠã"_ÿ!.H€¦â þ­kWÑmø4ÿ{·áÓ¡Rd¨”pŸs}½ ÌŒî PY]$ˆ Üïll.{LkóÙ99½{ +Z÷ˆÂ§…ôS÷ŸÌ…gO…$…N ‘.;ÿÁy'Þ¨JEiÝ÷>­{ߢmïÛ‰5 7qäÿ‚À76ÑðÒÀ7xâ„fñ݆O£¹$A2TJ19@‚#˜Ý}¹ŸŒh*«ë©¬®÷9Iѳ‡V$3KßÑ—è.§lÛÿ1m6¢TŒ3Æ88NçÙKUð%ˆ .Gðe±üñ¹¿!_êß7I‡Ã½ú +.î+û¾Óåñ+ú$ˆ¾£Â×Õ1±sÇ&uIžã#z 3غvN˜AiUs +)DÑ^Y’‚ìdðÄ@òyïXF¿³q€Wî0Yºt)ÿø4“–H 8QPqmû>åpö©ã‘.U©W½ …@š†ôl}xåÍO½×ÒÿDÂ,DÀ]7ÿˆ#CšôêÕ Ó4| ÚŽíæGpäJ ­° å€e[ÙIJ Ó@JÃ0S”@謯ø}'bR]°–‹¾sd1Ÿ!µ ¨ßMéï^_±…Mú€´ì}–½o$½©–—Úõ¬”ƒRR$,’×ÌÒ1—ñ‹Q— ƒä{õþÓâ…ã.¨CÔ/¦?ä»ç£ˆ¦¬rðï­~€ýP]]ã ·} ÷±óú³Fú€ãQ¶%·WlåŸ>À[жëHx*Aë¾÷ɬã^\àP¹„ wï¾G<¯ZS¤’À‘ƒrßG p…£Àø¦Sãƒ|^}õ5.¾ø"¤i˜˜?ÏäýÛ‡ø%¯ð®ä¿'û“¯÷þfOœ"ï“?{0xÈ`ù×_Þ!nëj[ƒf€"Œ£[’­d>ð$×Äa1ð @Ѻo9B˜apÕ9]§­KCÒ«W/ä—E€Ò"Hüb™#eŽã …dÍš ¬ß°…Í›·}“1¢#B¾'ûö•(Ó0SdÓ>PôouCBö{Ÿ=sÐ;ï]Û^QâßÿΓSž··¼”wÞy‡ÖÖÖ”ãÏ/sÃÎJ镬â(ógYGþ }àÉNp!Èx­ûWê¯2[‡ƒ»`Ý{ô ;+;1w¾0O\l¦OoÚÂT¼÷þ*„X–E$Á²ºIW¥€ÙòÞ¿}ˆOÉîJö +²Æ $Ü7'j!\ßy2„Óºµ +)¸þŠóY¶*îê’Ö½ïº'ahŒÊPJž`ëþ•îÊ׎¥…Ëã "ú–C!__"p€ï¯ö-„à¦ËNgóÚXS$]½M1ûÓyã¥W)h óè‚÷9aˆƒ±-Û¸æGÓqXð×uضE³eã8J»‡]¢8óøQ˜¦dùÇ»±,Eck›N“S[†$É éÕÚµŸ˜8Nj0éØiSø2 ª*÷}!étÅ º"ˆŽÇþ2Cñ½DxùÛÚÔs'…>xÿ]òó;ë~˜O9,[eѺÿý”Óƒ¾å]ˆAZö¾î}ãÖ뾋RJ#ÿœ$äýûõ#ìlî½»beÊwÇqR¢”âšKNbçç‰ÙÔÔ·SÞÖ;8Nc]Ÿï—8ŽBÊ„µm!ã{iñPÕ¥¢5„ãè¨f<gˆLF5–{  ZÚ"Ô´÷ wz¦!ÙצƒCîs Ãt‰Á3ǧá¯Ã¾2t„¿žÙY›±Û¶PŽF~G"Xùþ{lÉÏïüƒBjVœÄþæ¿ô®‹|OYÔù€×|+¨‘¦´‚•âÛLbûG9ŠÑ£GÑÖÚJcS3¹yÁ0 #U4éîèÔ-`D÷6ÍÆ‡½­ÝÜÕ­¹@O»šòÖBŸU{«QÉèqªÚ¢ØÊ¡¾-ŒãØØ¶ƒãØŒÞh4JÏî™Äí8Óà`kj>¥5‚IÇ…B>/Hó×ÐŽ„’‰ÀC~WïŠÇÖŠL"¨>XAMÍA + Š(,êZHЃàùeËÉt.3ÏL Ì«LÉüí ÑÄСC»ôï·µ¶bÛ6õ 45¶ø:@,#·B" Áªפp.¥ñ¸E4ᤧ£…£×±ä°ö³MþuÁ{Ÿ½ï¡PˆÙ¦”Á I¿ǧ¼‹örêrº@À$ +!…8t4ðKÁÅ_täðU@)…í8 -Øq8p œh¤=e õuõ”••¥‚G^j–”tòê}}”^õGm­­457ÛD"jjê|Ðï’—åXÄb1,+ŽmÙ8v(|îeÙ6ñXŒ¸'·ˆD¢DÛcØ +ÒÒÒHO ƒús0pxFg-E·:B"ðüGTþu@kª’ýûЉ´·u9¸¬ì,²²³:t(5µµ444RZRê#ÿËB·ŒL&NOVvöß“ž‘AzF"ç~ôè/ÿ®e¥¥´G¢Äc1ªkk©©IMŸóœˆíþÕQ¹)ç ½ŠŽR|Ht8,xȇÿA(//Ʋb8¶ƒeYGTÙëÀ¨‘#4W(.=¢ßëÞ³;ÙYYdf¤Ó§oÒÓ3Žè¾?=öÄW~ÇŸßþ³”ç$ï»ví¦©±‘ææÊö©½“XPI)qÁ[åžpX8 $#@|ºæ}Ã0éÑ#‹=¾Ø7ž 55UÔÖTaA¥ï—…úºzêêêinn¢¤´ŒáÆ&B¶fìììCÆð_ñG +‡#¶mßAVÏž 8€Ý»öÐØÜLKS –mû"À4 LÓÄ0ÍNp¨Œ Žâ #òÄÊÞH¹Û³×¥‚P'¢8p œÖÖfâñ8ÿ—à釂#!†ŽPXPD}C‘H;iá0ñx !Œ#'ð‰ +äCÐåEID!ÿ#+ý +¾é×_¬…ýó¯t:wßìqþç9‹·ö]Ý(ø*Ä ¥¥e´4·Ð‰¹JöáQx¸´°#"€ÿKðeVùõ¦WOíG¨iˆ¥ ÑC~MC¬Ó}Þu‡»ÿHáë@YY9ÑhÔ÷a$é§ž~Ø{¿Q%ð©§Ÿ#‹ùΕäÁÜvëOè‡Cà¡&뫬òäÕí!¹ãJî +ùá‹®ù"îÐqì_… †rÈsÕÕ•ô>„ë¾!ðøŸŸD†i¥ÜBåÇØº,ìøßù$¯ÞŽP”ŸHŽ9qÚ!Ÿ™ŒÐC!Øãt¼¦#‡éxþ›à Ép("øZàñ??é¶…ûj}<„åoàýâîG|ßó¯t‰ìdHF¼÷ì÷‹Œnuù_Ä9¾È¬ü²p(Nð•8@W,7y’“‘”Œ8 yÉ÷n"õìäs_Eþ~U¢:ܳŽd‡âJ‡‚o’:Á—"€#•µÉÈ>ä%OÂáXöáîïøüÃý®gH”§w<ß×8«ÿ2× +Ùu’®®û¦!™¾P +éGºzï;«öŽœ8‘¿xÅv|Ž–ç‰£ãï{1râ4â ;ôëÿõîë(ÿ»ºîpc9kDSÊØ=ÄW”nN¹¿+ÝÂÃÅ×%„dq`ÌžuÙwuÑŸ{‚µk×ùƒ™6&‡ »¾íž±R²ûð?—Ô‡è+¥¾Jg–z/髯ªHAÀ´19L“ãß 0Í­<ö (%õ¡NÇë«*(©±aW.™(’Çæ‘åœÓÇûǽß‘eDVÔ÷†]u7yL +r´Þþ³½çt…ü¢ü ŒÈŠvùNÞ8¼s×_<šÆÊ­DÉöŸŸ És~ýÅ£ýÏk×®ãÄŽÿZDÐÖÖBFFfg¬Ø’µäŽ+̃¯#ŸµÊ“¶®¾ƒG|º8°Áûá8‰V5R=ÇvRß/Öç=äw¥Hv5ÎäEðEÜ£ã<&s…o‚TWW&t€;wFرcõõuÄã©}G–”Ì.5™‡R²ÎÑÔå}Þñ®®ïÉ_ 'ûuÝ¡®=’gy×é˜;.œ#YH_•©‰G­« òò§ÇžèRq;ܤH)8c˜®žxÑýG<ޝ ?¿ýgßÈïtŒþoŒûëÂÿs®àÿ?9ôîÝï›Ï0 ÝíâHë’ÕWÜw'/Î{ŒAƒ‡é²oÇáŠn'Þ=üƒ:Ôëýñç¿pëîðcîÿÆý)þãÀ³¾2˜†‰4 î}á ¦ï,6n\OmÁÎün§S›’J$Ìž2–Û,áñ«/gñÆ]‰ón»ÿá3&SS´ŸÌ1þ°æïÄ"QâÑ8Ç̘ÀÎíÛ¨/?È)œÙ)3RšŽ­Ó±¯€Ù£G"uÚKõúãú2{ê8oÚÉc×\Éí –pû‚%8@Îè<~õ~š˜‚[]"˜:e*­ -~ÿ³«6rÓÓ¹mþjŠ+‰†æÓŽaÑçÛ‘~}¢ƒ@2sÊQ,ú\§`Ízë˜|ÒtWö'W”ãpùoîw¯Ä¥ÿõ{Âá @ÑÞÖêZÿwápÈåeE©ú´<ºöo˜Á€O³§ŒãÖ¹ q°ÑÍ’Y“ÇøDP¤œtî Ý}Iòó·ÐTY¯kýæÜÍ¢»´n°As€Í›ÖSSP¡•=±KçÞI}«Vú®¿w~Êœ??÷r?LxŤ”ºžÏ|òÎ*”ã LÉóÞÀïs?Ðà(Š }$7UÔŠ ÇO¥´¬Dw¦stAGs•»CIï,ýõïñ;y¹¥Ú‘H›î÷÷N_„ü. `Þê¿ ˜Áf0à#ù¶KAÀŸ=pçnÚÂ5ñ.õŸoi§¶¸Šd™l¤i•cÙÜ»Ám/hÎQSTŽF:À÷>J¯Ñý‰4¸½„KVÊ¡¾ü (½òÁÕ]\ÂÙµ{§¿³©pK¨šÔ¸mu?!„Ö?Åön9†ËÍZ6¢l›1SuW“¹×ü,ùÞ_¥±Xä?–Žù)pÙ“÷ø'Nœì¯ÄgGîæ]š\O2Õ/à$ Å +Ø´~‚ÊüR̽¥lîžÿþpý¹oÉë‰{îʇ¥ßÁâ »™=íh.¿÷€"ÞE8ù¼3ýn;wo§®ô >~ÁÙHt5®°}ûVw‰M%÷ê=‰ËFÙº'Ñ AƒÙµakBìU;fÊx¤!QŽbîµ·v‰|¿±RÄbÑ#+ØøC~ +ˆmà®ç½ý0nüD¤”ÜxÚ±)D0eÒT¿bkÖ”±>Ø´q#¨.8€ÝeÁÜ[È[[€‚+ŽMî§{˜uâhÂÁLr7ìfóæÔV°ì‘_à8ÁâM{ÀcÅõMìØ¦«‡9fœŸþüéòU à™‡®eÉGE¦ÉÇo­ð‘~Ê…çàÄãÄcqª +Ê)++E9ýû¶¥»ƒ¨Ð"«¿þTVUÒZÓ(ÌP1S'h¢QŠy×ÝvHä'ÿÅ¢ÿv"ø2ÈO!€y«ÿÂÌ´ù—LãÇOG±»dO¢y“€)S¦ú„²qãÆÕ ,˜{3Br×ìÑ2Ö])ÁÌ0üCw¼^:÷~¾Coc;ÁʶùlµÞƒÀqãÆŽ÷ÙÌÎ]ÛýÏÂ)^Á±cÇaÇ-¬hœX{„ƒ%(/+¥èÓ««Ýk‘PYQRŠ~ýû M“ªÊ +ÚZ5q¬~]Gñ»›~Þ%Â}δ¡¶eYÿ6"ø²ÈïD€O(ÅÕ÷>™`ïá cÇ2|ïûÒ9w±xó.ÚZøð_ï‚„…snÁql–¬-ÒÍ–]™ýñ»«X6÷.­ßÉUÇŽaÑú]Zv;ºfîóOÖ€£xøú YúI©–­XóÞÊ”ž{Ž;J‰6禜r<Ñæ6â±8õû²Ÿn\Ñ»W­õ»]5ªÝ-ërzõF55RÐVßÊè‰cüVnŽãðè­w'íœî"ÝÇ}âs]}ÕÕ5Äb1úôéCŸ>=þS®#È[ýykµf·f73O<Šìý|ìÖWbGc¼üè} $·-XJmaÂà/ιËõñëU’5¼/õ%zo¡¼µEÌ:ñ(¼áê=ä ÜU¿Àå¶e# ÉÖm[|âZúq)ÊQ)صgÙƒûP·¯šçç\ÊaÉšR¶mÛBma%Žemi'Q·¿ +'në>€‹ã(…²mª««ýδŽeQ}°ÊßàZÙ6±ö(FÀÀ±t|Á/ní€ð޽%Å%ìÚSH}m.ï’qãÇÒ»W/úôéMNNß4|òW¬xWû8”âÜsÏO9'ÊËŠTòêÏ[[ ÿ®Ùͪ×Þõ/TœþÝsB÷ѹùôc¹má2ª µïŹ¿ðÝÄ +h«oþë=²†÷áw×~%Ÿúıeóf$ ‚&f(ˆ”ºËF]q¥&< ÒØÚée$а¿Æ·oÞïIjí}+Çñ9€θè[þ5žÌw”bwqµ…®˜û ”c#¤Ám –pÔÐQlݾ €ú’JÕd臷ªæ^ýmr?* šì*ÚÀc×ü˜…ëvÑXU‹a˜(Çbö™c¸çù×@Aý^í 8õü³Èß²I·linǶlêÊ¢b:úgÇ,‚™izµ;*ÉœÓë6;+›ú†ä&‚ììlwÏ ­`ÖÕ×RääôB)øÓÝ÷p(xï½÷)(*ô9€4$†ašÍÂ00¤ Ó3«'á4¯+HbGÃp·Ž“RwH7B¾·ÔóÀ: +tÝR¾˜xpî¹çc^þä½þºb·Ï¯”äoË'{D?êŠ+9ã¢o¥ Ý (xø² ¸oé›ÔWpÙ=¿óBÿ8 +*·–’5¼ŸÛyIßfÛ6¿»öb®¾ç) ÃàºûæsÊygbÇl*·•‡P8nŸ>°m‹@0Èâ•{wÌx>~çýp)øèͺ5K$Žã8ØÑ8ʲôÙzwì¬l•G›Ûè?d‡o²³r¨««u?gûÄ¡Ô×UëHH¸ +¥á¬>HAQa§ãRhõÔC¾aº×1R¹þfãòåow¯zý½NŽ‘|×÷¨`üø‰ú£übþ?p”âŹ¿ð#ƒ¹›v°qã¢-íÔ'šGÏøF,;FÞšz€·´gÏm»š5´ßH)¥÷R`[†i²m[>YCûø¦¨p”Eœ0} +íM-”aEc <ˆh{»vþ8YYÙÔ)E¬¹]ÿ†.“qài†Bø@­ $õ,êöîÝ×ù ñ†HA¾ÞÖt_m[ÛoÌ?\§÷йkþß|yïƒ;Q¸î‡¾Ât×scÛ¶|7l«'å7þˆ–ö:þ¶£’YSŽF90eÒTÖ­Y“˜T‹>Ü…Ô j + ˜A+j¹s&xjùzÍ \:ܱS+—åÕ88H¯úØÖ~…É'K¤µÝm«ªh­i"+³§«ˆ$êçcÍîFÕ.këjñº£øà·öOhú½z÷ê|¾Ôvì$ÑûItÛÑICbˆÄ>Gòk®~Ï2úZ÷©–»!xÄàMÔ®ÿykv'lýd¢•‚ß]ó¯Ù(fž0šÜ-»™9e4y[ +7v<ùÑ8 ûjyaÎXv”eŸ•ÆõJêËjä ýY^+e»rÎÏ +r8ùÜE±s÷Nj ö³qõg3eV4޲Òº‡‰Çb®¦ÛÇÏ!Ø-L¬¹¶×óŸˆWxPW_çŸ9ü–/PUU™Âþ¥kNJ†B&o®¬ï8_ù‡#‚#Ý4ÛôÚŽ-YWÈ §j—oÀmd<÷Š }ŸÀb—PÆŸèß¼Ímò¨‘0!7àØ6[·mEM²†÷åîþ¡u†«.à¾ç_óçóù‡®eáÊÝìܹ¬!}¨/;Hmq…¿1ƒ0 ”¼I²†Ö˜R‚º$ݲql›öúVzdêžA]uϨ««%ÚÜN¨[˜h‹û·©Š¦¶ÔŽÌnؘ^ åѲ;W@ïÜÕE¾¾§È¹«ßC¾p•:¤üD@Ç„8ùúÌqå8ˆ[–>œ2CiÝ2Ù¸q½ÚõGïј:e*ï½¢·`q’"@vL—:ç ë«#€R§oi/‹Ãï®ÿw?ÿw½aS2B”­ãöj(¯æ” Ï&ùr೫ýë½( ÖÛóó©Þ³Ÿ£Ç¥¥®½eå81‹ݺ»I¢êêR~:ÖÜNÿ¡Z¬«Oì^’rMKâOù{ôî„Ò PSSÍ?^ýWÊ1C˜f3h‡ ƒ¤ƒCo  +¥Ñ½[f0˜‚¾/cØ–ívGÐ÷yVèrýX,F{{{—V€rl¥þ¦;.ˈ4·Pëfù¼8÷¼8ïôvÓ½6nÚHΨþäŒ@ï£Ð{Tzî bƒ<}ëuüåO÷Ò÷˜¡‚"-Ì»îb}´›y×|ן]Dz†À±,œX\‚­WÙG¯½Çå'ñ.‘tÐ e+Ž?ç4-çmå§|×—é|?oÿ>e;´Õ7k-¾¾Žúº:êêë|–™Õ#+±Èý›Y=³ÉÊÊ!++‡ììbÍíZ_PPQºO_ïO^ê¶#»vw^ýz:…»Ñ•V=ä®OÀ0Œ¯ÌþãpbýðµÕõ/xÈ·ãqÌüüÍ)Ï”¦ ‹óò£÷³xÓðøÕWø¡àÇ®¾Ü߈ñ¶Kt’§ÐnàÖnášã'0yÒd6oÙL´)BS[OÉ"oMcÇcÇ68rè(¼È[<Ó”=Fñéò•Üò«\Ž;ãd®8m¿^¤÷è> ›;v¸ ÂÂç>=dmi§´¸«]A¨[˜ººZßå‰îìžÙ]¹³äÏVRz€¢ßÔÕ×ùJãòý p9A2¬®a÷®Ý¤ÎVJæFц¿ë™Î†2 S·“RÇF¾"xDíHP†ÛFRH ¶î^.…ÀN¹'ü¸mc>zÝ%̾çqrð“;æ/ÞOî¦nògbêoØðøÕ—sÙ½ðgôÚã'ðÂg[™uìQ %bqîûã¿;i"JÁž]; vOmàkÕ+ Ó`Ƕ­ô؋ƽ5\~Ê~5_G ›ö×ù,Ü]À½Ñرц6¬h Dz ¤“&U,;+ÕÿknG•åûé7x`Êó’õÁ`·0ˆµF¨«ÓJáU÷þ’E®K¸¤¤Гì(IKá[€" <ù¤góÒG~Àt·ŠM²º–ä_ Žkátl!*]%*YÏèˆ|+f!s?ÓÊ]î¼ÛÈÞŸ^#û“ãfîþøÎ‡ý›§N +n_ø¢O}‹7ïâÅy¿@Çã 7ìDš&K6o¸=‚u8W)TkjeHÿÁšý»ñv+naE£Zk·lº÷Ïâ¿^XŽr åÕD›[;q<“Ž?–égžÄäeÚé'’Ö=L $" ѳg–ïª6·wB¾‡ØP7Ýl²¢|_¢K'PßXç{ÿPŠììÒzdø;J ©·‹‘¶oßáçEH!BS! }ë+´oZŠi˜ÂpW¾á¶}Ot)ÿ: ÷´Ùëø»Ÿ%ƒÞgÙÝaÝ‹šºÉ¯òcñX´xí.&LšÈ¬ãŽbö}Oø,±½©O?–Åvd${$ÈâM;è=z ·>»„IS¦`L¼±ÔW‚|¶üC²‡÷ó£r—5”eïéÕH ¢”Þ»iÜ_›x1GaEb´Õ6Ò«woö¬ÙB "-#LFv**`Ç,â­ºgtÃ1CºøÃ¶RŒºŠò}ô20iÇ.MàÅ~•åû“ª€Bß' 'ÇõøÃ¿Ôiìuµ¾(†/ ¦»Ó© ´}ò,¦€ìsîÂ0Á ·ï±D}6[!…ÛkØQ`$XBj·¬l@96V<|+niÈ]«C¸³O8šÜµ»é5¼¿ëÏÕ¡Ðg?ZOZfz2}±ióFÊ”µeÙÌ÷Ù¯³éå:–¤¶é¥¡C¿¿}ö=† nc©¢¢Zk›q,‡É§‡R…kóiFéžÙxLOT<§½©…Æê:ššš†DÙñ@š6i\÷tvVõ õþ*h3QHI}]!×L(ÊÝÔ1Ô-¬W¾Ç9„Dš þꉋªªªRÛnmB.—0Ü¿-ïÿ€¬Ï%”¦Çë¸ÄöuÜÁÊq°ÓmYoø²ÀjºBÝ_ï%â@TAÔÐI7bÙ. $³Ž?ŠÅkw1ûø£™ýêr5¬,I„„` ¼[øFb¹$í`ðè¬1ó?*î½ ƒiHâÑf €—aëùêKKŠQŽ"‰1á¸)Ôî­ tÓ®DÚ¹”ÇÑ™?.ïu,‡Œô š››êkkéÙ3Ëw)ƒ gžTíÓnâ:j}B".è?d ;‰zÅWìÝO´¹þCùéãÒ˜“ä@4E&InÃ]ñA –‚4 a÷´‡’ xõ^‚3Ÿ¢½½Ý÷oã {€w|ßPXNœ–Å·’¾£GA›1GÏr‘o±X å(L/±3wí.¶nÍçÎ-ùäŒìÏ£×ýÈ•¥p÷ ¯ø?j¦§ù&Ñã×\Ém –€<~Õe,ܰ“oýðÛ\:q(wÌ…š"íKx纞aØQ#()*ı¢­ ûj5QØŽÎà9P­÷ÌñB³.çJo©÷ r0ý”,ACCƒGøþ²ö8€Fœ–…Ñæ6—½p9ƒÂ0õ¶/iÝÓAéí_„¡moÃËŽöí"+‰bBOòθÛÈi¤ÇØJhŽÐ?¨YqkÞ-¨ï?âÛå]¡_#·kÂðR4¾ò‹ndŽ `íŠc¸Î ÃýívG@‹ Κùd;Kß“üàÚ¢ +;ïV¯Ýíûûkܬ€3¾ó-nœ1”Ãâ Úiû§Ù?fáçÛ¹rÊ(L3È Ÿnõ‹-–EŸïpwÐHXž†ÀQŠïŸÙŸ¿½·Ÿö¦ͪmšuûÍgðöšƒ(ÇÁŠÅ{ò$Ä‹—»ƒÖÑ<JÏX÷î=RGÙ@@Ï=uÒ‰‹ìÁ£‡ƒRÔÖÕinÓç(©·lC@zV&í­(ÛÇ£F`†‚A‚á4D¾_Çrl¼‰šÆ¶­Í~“zUJF¬ˆ{ˆ8þFf…fÓ!‘b…‚åÅ&,¾™€ÔHxEB{\sGAÆø4,KÁÞ8jLÀÝQI?×TZ49àr¸$óS¸ wín?³Ç‹ÕUQSRåï˜iiõµýÛ.cц] u‹yð,¸ó…¿2ûÄQ¬« £l;n3tðPìxœÌ>=˜ÿò_¤xYéü.Áö¤á&=˜†iúÖ‚f‰$  ©¹Y#/-D(=@Z@Zˆ@8ˆ4 ÒÒÃÃ!Ò2Ó ¤¨k¬ÇÈìÓaJö—葉±ž´néÓôs‚á4L3H]]=Ã$`˜nk'-Mpò©aN:3̉ç„ñöƒöø9—€)!œ©‘å!E¸¹'¡;—e…𑵼$@Ô-jñˆÃ­‰¥Û„4ºOJÃ0 ²Us0ÓÐD—ê.ašB\0`bfj, «÷w˜8i²¿‰¦î9GçzM˜8”bå¿–c„Rä[?ü—NÆÌ{þä³ÿ«ï{m)(„r4h¥EŤônøÉ±üí­bj÷Wmis}zäÒ0Ü>Ä .ä}÷²ˆµ}®‰¤±¹ #``¦…0p FÐtW­dÿý´Ö4"Œ?åØHÃàÀ­¯(ËFM„´7´"M£SÐÆjkçÛÓNGÑ´i +èa*¦ž«9czº aí?Z9ó‡pà#ìöF(h„& +SèÏ’„œ x¯$Ày#ã¾"únq€óGÆi™FtgÓÕ7R?£×ÄöŽ8–{}ÄѲ¿ÙÖ2OÓý…Ä©¿ü±òV¾7¹ÈÞÔ–T¤AýòmÀQ,œs ÷.}Ã/ö©Ú¥S°?| ¹k ˜uÂhîxîe”uEûqlå·{I$Fè—íÕ=›Úý‰¶ºà^c˜¦»H0·ùƒ÷×¶÷ZƒPz˜æH+fZ@#SH†4$ÅE^øÛÖÈN\gIÃ`è°a!¤§QVZ‚ +ÐT™ˆõ÷˜CU~ ß9îZ6äêãf‚å{H<ñ’ &NÏ@JÁªGª°hj‚š¨k®»Èw\«Á®½î.]S€)o8xÜO÷ú $ÀŒáqÚG§ÛA +Èœ˜æ­]²L›øŽ8qŒQâ6ÄâPß­UZ7P@·3nG¬+ü›˜}NVÌÞßGpÛÌ!÷‘[ý=pAr÷ £¦è çÜÂ’Ï +¹ìØaüê¥w¨.ÚŠ;,ž{‹?Ýå³sÛŠ³5 ŽRÔìÚ‡‚úSQQ‘P΀°ÑT]ç€aÈ€™‹IáZ/sW&¯P=û÷&gP_ÔTººÔ•Wã³åЭ_MIB¥˜xÒ±H)1CAœ¸E0"QX\€ã(ÆŒËýç_É;ï¼ÁŽ»hߘë²lèfê•’úŸ.¾n„1ô%WØooå㥭V—´"©èÆttÁ‹ T¼QàÛ#âü«(ÀwFÆy»8ÀE#ㄎ SÓ ý0¡ ¨mQ ='ˆÅ@о=Ží@«m64zà,]ìb.^»›ÙÇÍ¢9?sY]b½ÏºçÏÚ"X³ËŸy¥¸î‡Ü5ÿ„\qü–|VÌÃW\Àuÿõ<‹æü”EkvúȰã 7aù·€R\ñý‰¼ÿi5JA¿~š´i­D†ÃDZZÝ]b¥Ÿ¢y8ž#BsÃ4Iï™I÷>Ùô1ˆíù[PJ‘3¢/Ò4ÁQŒ}v,{|'Òƒ5ú(Á +E0D 4MMÃ4!¦ ¹z 8Ò] ’šÄm +v¼Q…R‰AþZ8õÊ gÀŠC8,Üì(ýÝ Àƒ÷ê7NpÊÍ™LiÕc:0Œ ›6; ˆïŒÐ¦À‚8P·9NE Œê¡9‘z,Ñ.üÎâæä|fŸt´6ÑžÁ;çÿ•ß_ýCr×îFx|ËVlݺ…ß_÷C­Ñ^D)$«^]Ž ,|èr?+p‹G%ñ¨.žÌ߸‰Ú¢ +úôêBh‰ÜÁþýûSUXî‰t°…E +@Jé‹!%é=2ÉЛ`8»gŸÎ’OJغi3f(ÈØñ°ã1½Õªƒo.®[µ”ƒ†ïxnÎ ,]S®ÝÛý¡ŽŸ “a2ò«p°Ùö÷X +Ò%= Žé, 4K¸ðv¨Þäš`6lüH‰'Ÿ=‚ÙTdâ`½W²!5—:þÚ ’sa6/jÑD" ¿\Wiø–ô•?ÏúP +úž&º¦¸û;­®üo°|T“yÆíZ œu‚Fºç +žuÂÑ(G‘»n[·æSSTÁŸ›”(غu35E•ÌpÓÅÛfÕëïú¬ìôï| Ã4Ù²E»Œ•å`Å-j÷ìÇŠ[Ñ65Ð_ˆ°G1¶m¥¬üŽÄ`šž3S`dõïE·ÞY>Çè7jkÞù€ìáýùýMßgá*MÜŽ¥³m+Žm;íÁA—ÅûöÚÜ«)®LÉ®¹tâi`hðqºu7èÞMðø¯Z'™U&pçã¬*ƒ!'¶Rº&ƒAǵ²Y—;tE„gÇïÜÄpÔ 8Aו±ko€qCb¾[9æùýyϾ ÃΑ¾w2`„†„pbŸµw´ùG‹€:K_\AÆÉ7{±€Ý!µùç~÷ó lGûìDEœðÔW7mJ 5õœáý5—p`ë¶-Úÿo~]¾ äŒÀÁº€¢¢²‚þý$°éM^ @ -Hïá¨,ÜÛ)KÙ¿\yîb0éÑ'›ÌœžºÒH¶¬YO0$ÒÐFãþjþ²i/·œ3•Eë4ךyì(–m.ãý¾í'À& +>Ç3B&yÝÎâõšxzT +LÓ¤öãf$Œ;/‹;çfbHM0¡ Øtï®ó÷}–P¾.ƒ lõMAÏGà¥8h~©ØVdÒ˜ïÒ+—•+ø{ƒŒ¢w b[#ÚÂPš›dÎûÜÈÖ Ç=ßhéw X1Lßô&N˜˜²9±PSêz'è'¯zõ$¬zu¹ž-GéŒ]a°àáq”âÚûŸq›8)N6%“Nš†ã(º÷ë‰íÀUÇÅ¢u{ÉUÇÅâõàh‹Gºf̯»”ÅŸïÆ0 6mØ@mY%yÝNÞÆ_Ù º-«Á¬¨×.WÓ[‰ÚÏþœ~—ë/Q‚eæ+ž¾³E›€® çà†˜÷ ر7¨d]V`%¦­åÁ„ûyr˜XLÑ#M‚¶ÏÛéÙ'€Èl'Ò’$ТÉVž×Q$¹‚XùêrrFö§¶¨‚œ‘ýýœ{>çýü¢¹·à1;ÛŽñ‹…ÿDÙŠÚ’ +ν…ÅŸîæòéÃÈÞeë"»vr̘c°¢1ßüÃ/³ÒüVZ÷À0 z@Åž²”J'ý€Q83Œ¬î„»wÓ .ûßòézüõ…<ð› tï—ÅmϼÌc7þ) ~þÂËx +…‡üG¯ý1K6b˜F’e!1Œ ß«°~_¶Ù—–·!%xnOƇL+Iv{Iš8ð_75rÙù·>žíœ4±¸¯„àØ°ãÕZ&þ(‡ÿ¬eÜ÷9 Þ;{°üµ6"›u¦s\@`Z˜Ð´0Á@BÏp\N`h±´øÑé˜óÑë~ÀóÿªM@wžkŠ*|¦¼hÎϘ}Ÿn~¬­‚Ý\yü(ò>ÝÃÌbâøIZ”Žcsåq#Éû´y×|—ëîÎ-ËqÌXÍž À¶-úôîã"U`¦¹øŒ¼ùIµÏ†Ó{dÊH#ÒÜ–Ò¥CJISsiÝ3À‰rÛ•cùÛò*ßV–æüö»(åÐc@ûkiª¨gfÙŸ]7®LH yßFîúfO?š%› +ÙðùçS·>›ÇŸo¸’EwÑPYݯqG#Ê”Zæ*ôg—9ù„áE{•ÂÍ+»_¯Ócu{N9Jsï)`Ç?ts»û×oh¢ëo(ÙœNh:¤M#%Ä6µÓ¶¡°† ÍÍêTN Ðz“ï œu‚.ÜœåúrçÞêSš§ þþêï“÷Y3MÞg…~ý¼÷†«^{ǶÒà´ ÏÖ8”bÛÖ|êËvÜ¡­¦eÙXÑ8Ã¥“5„NIïÙÝíâ5 I´=ƾíEØñ¸Op', õÈðë„)¹ûº“†¼ôÖ>ŠKŠ]~#GŽ¢¨¨EÖˆLš<äoÝìѼþRp 3ÈmÏ-C˜F¢!ºÁÕ¥wÍå§g}ŸöŽtOsY««|Aâïñn©…—œ¬løåM&?ú–fæ¦tWR¨Y† ÂŒž¦Óå”rM—Rº9a“ÛØgêÕnÛšƒÄ6êP÷èKzpðF¢Íš`Úl­?Tǵ%àÝO¹YóñY®öïAî¼[Éýl7¹k÷¸¬Úgf …ßGÀµíf¶Ì¸èrFô'{x_}©‘P§{éE½üR+„ ³OOVUQu°’ªª*×Ço¸fòÙWZFÝûdÑÔÒLSS#½‡ä¾Îg챓‘A3B¸Ëï¿~û&?ù!Å%Å.•käÛ¶î ÖTYOÙ§;¸ê8Mð'Lö5÷;æ¿Ì þÊmÏ-`ò¤ÉœýýóÉq‹X.¿ï÷)šALCÛÿ^$Ï[ù†Ë¦ÿ ±šÍ}|w…‚î½ë>OÓæ¨û€Oצ¡€¸…;î»,Ú¤ÝÌÅ›4ò 7†Qh/_tS;Ñ혓µhÛÔH ¤ÓÖ,–ˆ[µmûãMª ˜uüÑ \çÏ\M³Ž?šÜÏv£m÷£`„I +&Í›7Q[Råj´zV[‡vË$ÇÍ8ØSJyi)ÊVØq eÙà ⟞ÃKËK±âq7l«sÛöî/§½¾…´ìLî»ñL^yŸ®¾qƒC‘Ö6JKK@š+êüÉäá‹ùËÛû±mýöe{KQŽÃ°¡Ã:y †ÛdZJ‰0[6mB˜“'Mvi^úbàû½'²kç.¢Ÿü„FfЀ´ ”m3rš^Ç^œd¼léƒuŒ®üû‡ý PÌͰ\‹Àñ¶ãæ$ÐL7±C$Ípº"²¹Ý·*V¸äØ8­ÍšF¨‰C.Ä"óä1 SGï–m*!‰ÑkdfÝ«‰`ñg.Wðd&[·mõWµ£`ÒÄIlÉßB}IR +ι…Ã5÷>CöPF®-©ÄŽY|öÁ'æÉHi0dèPËÁ¶möïÛ‡cÙÓCüaÉ' ê;È_>(-/ÕNž^:þŸ‚|Wp–#M‰º÷Ïöý÷ËÞØË á¥7;o +AÙ–Ýüæú‹È]_ˆã8~¥8Ø–íG6ãѸ>ù•Џûv¤1aZ™š‚’á%¶õÁPë 6d kçœkzùר6x¾.!HAz (Ü„Z0MA4ªuñ‡e+G÷_­$Åä0€oý<‡à#ml+”œ~A[»"³NQÿiÄgê¦í¹š,‡Ù'Í[óé5²?³ïý3‹æüŒ¼u{øàË} à€®¾ï)@°²ø]—· Íý) ?Ú,xøF¬Þ…°Õvüæ mvýÆ6 6”œA}).+Áj‹Pº·,%­É˜. Üý ^Y¹ŸK΄ðÊÊÈHÊD9rÊQ+ESe½|)%ñ˜ESEÈ¯Ü +f––¦ÐÅ’y?gñºÝÁ€ÎETp€»ÿ……{° ¥`à1„€òü0#§´ûÕdWÔæ±›£‚Vø>ú4À€^5¸þ+zNË¢yc==§gQ»®SB÷iY´l¬G9Uv\4¦;'®ùh[€L'45Ý×= hЂöùÇßO¥µ~7ç\>“?ò“B€DJ@îg»™0i"[]ßÀì{žðŸ;÷VÇ&ï³Îý)¿˜ÿ7t_…sÊnQé#W—»_ø'ãÆÇŽÇu´ÍÑ)]5û*E[CŽm3ð˜‘sô˜cؾ)3`€Ò9LÓÐÖš”€`΂¹ÿú3˜»pµßôÁKÕ¾÷æÓxùý‰v°À/ï•É'«µô€A÷þÙ~âªW˜‘=2±Ã€ +`ÇâÁ€ß/±#(ûv¦‘}lÄ7Ýá4]M{[Ô¤ƒÈ-}°'è¦ÞÄ÷œ–EýúzßP÷y½ÏÒ[·ÔãmgÐôy}‚ý› Ï¡£4G1MMdÍëÛÈDÜß9Eç% µ¥Öc ½¶œ©Ç) š\Èß’¯#€I¡arsçÝÊâOv1ó„£É][€÷éÆ3ŽÕo~Àb7`ô‡ë~ÈϾÂ/æÿ!«_;æ…Z%MûªÙT~ô~YL=å8̀ɕgŽbÉ…È€ŸŸêfèѣ)-+ÕZ¾¾µ0gþ*7ö/ü•ñë›Îaá?w&8•Rtï—•R#„ð9Àä“§'¢•¶CIi)HÁ•÷=Ƌ܅mÅX’_ÊUÓDzà³mÌ>öhçá6wðôc¯u 7±1Ë5å\G‘°µÕQ:J÷æŸÚ9å4hÚP”°á“4¦¬}ú=¦eÓ°®ÇJp”쳩_§Åší>3î€é¦þx™BÞyoL×g®å”k ¢±ÄãPS/|î!…ÔpòÀÒGîÄvâ¾0ºó¹¿¢Åì“ǰxÍ.0óøÑä®-`ÛÎíþ}3OÍâw2iò„€•ÿÔÏì9¤ 剷´‘Þ§'ÒÍé»ú¼1†ÉOï_Ì“ÏàWóßöS°¥)™uþh^ú ÄNÈË+÷" IaaOJáwôHë–A¤¥•˾=˜‡ž,¦¥²Žnýu9˜‚¢â"ºÈöµkÛvÜ.ɨ‘#<é(¶åçsÛsËøÓu?aöÔ£Èݸ å(­ÛÅÝ'Op+“•»Óšý›ön ”P²1Œ‚‘V¥b°½'ʉÁ®ž('±os€!Ý ÜÕê-9iP¶Q/ÙAŠô‘)(ÛÒÝwqën•ë{˜ +¡ÉéfB‡øäÉZÖî ðÝiqÊ_ÓîäV7)ÄJÖWnY6Wåço¦¶¨‚Å®ö?ó¸£È[·‡YÇͬ{ݦFnzX¯á®‡Ð·ð çþ”¼µ8–ÅÌG“»F7•\ù÷·iÚ{Ì~ÙwΩÒ`í!‘~e«ÆÖ ž~p¿|üUF9Š‚Ý{hØ_Ë£¿¹„?(G9Ž›†? …º²é×7œRŠöx ?±J‹ ÷Þx2¯¼[J±yÍç€Û%Üm[ãe)¥°,›ÓÆêØn2ûÐmÜ1ÿe–Üô0[¶l$Vr5B +>Ë‹òí;õÄR`š Ï^ŸþALÓï¿…R`+‡y7U2àÇ?íÆËO6sé­ÝüöÒHÈv› $ 5w1 ýþ¶®ö ¦¶,kõ™r2!ƒˆ»–ÛM1U±„@ܲl®ZùOÝ5jñ¼[AîÚ]¾·H§‚áŠüáºK¸kÁßpl‡ºÒ*^øí ,[_•ǻ}•"? íõÍ2Òp,‡ nÕ±­”¸ÎÎ];¨+Ó±†gºš¼ÕÅ!hoj¡ @Àóc–}Pæ"Ü|¹”SP¸G럦A}y ±"WTèe2÷¡‹yùíý'6Ž1|D"µÚ½Î¶¤!(**¤×È ¤ë t)Ý÷¥ƒ£¾¾‘¡ò÷`+¶-o¥›ë¸Ö@Àõ·O?Ï•÷ã j£þ{ílƒkµ5¢5÷ÆrC¼Ó®éƆ…Íçþ•À±×wcÃüfv–7<–Ð'®½‘±Iá„Ê íl'Õ 6›]P—lÞsê™uüQ̾çq?+àŒïÊI¤Š»J`îg»ùÃ5?ô»ˆ\û_ϱðaÝØ/ædÀĎƱ£qj÷V`Åâô5ÛŠëÄ WvJÃàéßÎfÉêb¤ÇÖÒ”wþ÷ËüéÁKYö¾Ž zý“³GŽE¡›¨E¬­àŸÎƒO¬Í•õ¾á\Œ—ŽßúÆç,RR[ZEÖ°¾L7!]o¡ûsÕ«AÀ¦÷Z€Dñ‡Rpôºá((ü‡.X9°&“'·øî^v¥Høé-.dËÒä¶aa³O›æëÏÊe¸~I€…ï kÛ }fRÀ'êš–f’ié%’&›š¢¼¼X=²ú%f¹É»fâ²?^ûc~ªÍ;3``Åm@;‡jŠªHתøÓ?Áv, i²hù”²±ã6ŽåDé;b0Ûvl¥¾ì Ï?|yù"‰âØ»wï¢q zðR–®(ãÊs†óâePS kúúöî£ÓÊ#1*++ õÈLŽ×Ÿ¦œ|›>YG÷94¨óEþ ß ¿èÆ+ôŠ +iKவ_wþü§hùàw¬¨è†át¼ØÑÃw)6¿ÔLÈ€ã·}»Dà*e‘(<ð'ƒË§Ø)5 =ˆ^1‰·Ò󋃘®œò‰akQÐËÏÅV:ÝËC ú©{½~ò5÷>ÍOÈ則f²äƒbÁ–¥wñ ¨0ë?^CÃÞ]Z¸"M«Ätÿ_wf~þ«—P–®Ú´úSÅBlË&-3]Ç ”¢wïÞL:ï¶|¾!#GŒv·”ÓYÆÓÏ:•x{†¤¨¸È_Q#GŒ¤¨¨…¢é@å[÷0tòÑ~"¿o°;+dê¡® ê…Dℌ„ÏÞ‚c¡a»NÍ2Ýsò=D¶—}OŸ»¹úáKˆb[ú¼Ppùo‚è*;…£ ºVÛý! WVµO´èç+ýLËË+ð‡ÒV@Þ:íñË[·›œQýýUÚî¿óù—-•¥AnݺUGÑæÝÎÂO¶ëèàZ]î•3¼/•ÛËøÙKyâ¡+xà©7t¯/ô«FÈD ùÕ%¼ô~9?8µ/°×cLìÎßæ²|­Ì¡€x‘+ƒ€B6Cn™´»¥ki×VEbaLOölZ«QŽbú™'DiªÐ\AÁæOÖR Ÿ>žHS ±hÔç(>ût'Q%Aò9€A§5Ó¸ö¯ÎôWç±91¶•˜®,7]exæoCX174.5QD£W> n9\úë†kžnÑfŸ‚m{ƒÔXŠqƒâ~È ;€ŸfæqÏŒt”ƒ‰Ì<îò>ßÍæ-©-¬ wÞíØ¶Eîº=˜†Á„ “µs°l;Ål´m‹+ŽE®ÛD +ã'N"ÒÒFÃÞj~ö@O>4 Û±p‡_?»„ qo RJ~ùð?øÓoÂÒ÷J˜yÁhz~RÄÛã„{¦£”âçWÄ?WVðƒsò÷w÷ûr»´¬D¿ ) .q›; ¡k+iw¡7Žƒâ’bz ì…rllËÁ …˜6ãDŠK +IÓþŒ@€Ò ;HëžÉšê5LÏ:6EÚeÄZˆ„»óýAM”ì ¢œ{ÊB8À D;í§&q#ï?ã²3xùÙV®øY/>ÙÊÌÛ3°b›¶b+xa‹Áµ“l-ÃÝØ­tÂȸÁ ä38ÆÚÒ™SÂþê7 ˆoj÷%›åŠ•¦¸V3 M`±o_©8÷ç³ü[4çg,ÝPÌåS‡“»v/÷“‰À4 Þûû[,xèf­ý'‹R ¥®‰µËWñäÜY,ý D'p$­ +na˜kßýG)ÿí¥üfÁ¾Ѱ·†Ç~{9uMµ¼üN¹ïóP¶æB%…:$=tè0½;hÌ"ÚÖNc´™Œ>=˜wËwyò¯\ÅTwÿ..)BÙ6ê8öŒ“ü±;–ͦ×u +ÂL9õx~óÃëBðÑêUìß¿_sÁ¥”Zö.’.¸ÖÄ B0 }”KlÌmÀQP_©Ã±Þj5Hdy«WÊ‚Ló >¶–™0$ÆÎ½AÆ Žé|BtzXµ¥8vHÜO˘ÆÌo÷W›­‰§>µV"o1ý¬Ÿ'<ë¯-®BJƒ™ÓG“·n·N’TfÀÀ¶lÜDM‰›)¤×Þÿ§]x³N<ŠÜµ€bÅËoê×ò2v“hölŠ@H·ré9¸ ûj¸ã¿_IÍù—i˜¬Ø%”æ{§öæo+ÝÄQÃÐ"ÓÀ±l~rÁ0þòV)e%º­}FŸžHÃà¾g^Ãq\{*¿þóû.Bl„iðèÜñÒ{ûAAQQNØ‹Æý5‰’J±é£Ï?º€æ–f’áòIFÎ2q-MÒÒ`ÃßÚèlß|£†$ê÷¬¶DưNJ‘(!‹8:ÃxC¹F¾W` + KÜûl-ÛmÓ/0È´Á45[cD6¶Ó#ø Ð9ˆ首ù¢ÁèšäÍ»ƒÜu;™yÜÑZ?pS¦,ÛæÃ½‹£‹æÜÀ]Ïý5µ ˆºÍöé¶îOÑÜA¸¾îw 6CëI9†ö‹7ÔUÁ^¥QÄÑÉ 5VR¿‚³îLp€³~ðm_˜yÏ9ëûç',‚¤íܹï1óœ‘,û°!`÷îZpóÇŒqw&kÞû[~•‹‚'œÍó¯nFH£ÍÕHCò«ŸžÍƒO®ÐŒ!`ºA'ƒgæÌ"oe){’Óh€¨Û”ªû ^ghÚWÃÔ'êlçÙÈÛ¶nÁ‹ž†N¿•æUÆÂB]¤.¸+ÎïÙgC{(Kgm, Ro+®»_+uÞÏ[np'ÓLÎ ,{(Îe÷ç=ãÚµ6-Û"”36@Τ Öö +=.¯Q„÷ª^Bˆrlľ½%þ[^ö´n‚X[XÑ é>òçÜÂâ5ÚjHòŠmÛ·‚•;ÊyjÎL–®Ò!%;wí@xø¦ Èû ”={vú "¥xvÎÕ,ù°8%áQÁÎÛhØ[À“ͦ%RÏož|¥M•uüáÁbÅ-–½S†cYí) ÒÔN 3̳ó®fñ +ÝÂUºÞ–-ë6д¿Æÿi3N`ƒ»Ò¥˜~ÆI)Aý +uÏ㇮¹™-[¶ê-mphþP×íw3µýa™pÈxÕ¸­õ!š£ÊwéÎ|0@,ËŸmõ‹C=Nb»©Û'Á}δÙäç¶úÄrƒÙ@ËQiH©«ƒ “Ķ·ûÙ@Q×ö·”Ö<è6ãVŒ;î¸ý¿½EÑZúõíÇϺˆJJHÏîF{] þ) =vÔp–¼½’]k·0ôè‘~3¯¶oÇÚ-´7´àX6ž=‰IÃ{’_Ú¨‰ªF'z~°¾€ºú:Êijã™y×±fÏ^Î:öh¶”Ö1ëÌQl)©ó½Š½ûô¥Åj'ÒÔÊ[+7³â£Ý´Õ7mi!x÷ƒœwöx¶5‚ôÈìACC=ñ–vÞúhƒGÓáf÷0Ó‚3iF ñ¹Ö€aƒiµ"ÄšÛ©(ÝÇ€áƒý‰ª(ÕæéÏ>ÒÒR­£ °Ê× ùt?ûI—ÀÎýnù}ˆãÎ5ºdÚÙq 6.h¥ÉÖÈö¼|¸÷˜®Žà%‹@Å á'Ÿz-_ÐRe!«-‚Ò0ú˜Dò#~i¹×ÂFsvGÎ<åfÇ9ÔîáŽæ@î¼;Èû|w‚¿;=¢_B!q3Xó·å“3L7…ªÜQŠ’¼÷‹}>8fÌXvíÞ4 æÜp‘Ÿ +ž÷¡^¡7ß¿§¾Š¼•Ez§OËñ9€0 zéËœ¿Í’UÅHCÒ\Ý@AÑ÷×òÒ»:ÛÇ jSpè°an×}†fŸ5Š%û“‹€Pf˜Ù gÉ[e~2J1zÔh +\1 o<±€>×›I¸+¾ç™·Ó¼ò1ÿ:/Ê&= \ uøüÙVßOà)v=Lh¶´þ Ü•n$ü Ê5ßPAH +lÇ!î(?O0® `€Ñ㈭Bû¬Dø‚¸ÒÏVè`âVÜ §ä/IfN?š;^xÉ· +ò>ßub¬yc•¿’VW¢€Ó/ú«^{7U”z£‚+g %oE±Öê¥ÁÃ×›¼• ëÀQ!ÉÖ—[î_ÄÓsôV0÷=û†¦6i¸¦£¾ßƒŒ^=H«É é@B +]Ðé&Ã!0´÷î¦{rÒy3°-Gû Üf¦åeàŠó³ôír + + :!?ZÛÚH2jü ÐÚõ®mÎç_ -›_oãïΑÆuÐÖ@3I…8.E¢Óˆ¶î hP^7P÷Û¿»öÀô!q¿~Pívª^â…Q +[Ù9€wËW—ªÇÆÉß–O]q%9ö¨+®dõëï%öp•;÷ò̼Ùä½_ÌÌ3G÷§h·ÛwG¿À§ oeR +ÆŒËÎ;è9¤/7ÿjQÂvQŠgæ]ÃÒÕ%\qÚp–|Xˆt—Çá—Ÿ;„eï”û›<A“¡Ã‡Í€º²ƒºàÒ‹¸¸3wïS¯1çæ iÖ³ä­2HZùÓÎ8ÉÇß|ÿZÿsSSS'¢(ª øòúŒ‹LºwÓ9{[ßmóëÿ¼Êo¯4Ë+!»|?î*Œ{ü!á·˜;éÇSj“w-±âÑxÇV†Á–?ü’©Cb>qH‘Xý^*X²jÛ¥è5B's:Ž"?³¿•L]I•íó`a’9Xë–‘ÝtÏbž™3 ÌѶÒÝ”ÉQÏÌ»€%«ŠÙ¹sÇ3–;wmi§ÉíTêYÊ^yå%êuWN”[bîиn1¶£È04ƒö|^ë— „âŠçŽÐíÛ¢Ž µìø¼<Èø[Äv-®®ÀÛª#ÐmããÄâ +‡€$0 Ÿâ±8íÑ6š[¨©®!øÏQ¨\þTb7,ÇQÔH ÝýÁ¼5‰âoG±…ó~æ_õÚ»ÄÚ"xNçæ]ƒ—Äqã=/0ÿw7ûQWœ<Œ%« +Ù±kG +1Ϲé"–­)EÅ-®8}J9Ü|ßB@1ÿw7·â!¹é¾’ í¡N9y:»vìÀ‰ZÓ œ¥ƒ0õeyfÞÕ,ù°$•+¸ï¶sÇvªwïK!€dä<óìS>Ò•Û™S9Š–K($Êïýc-Ë!aæTøöÈ8(ÁÖ½šÝOûÕ477cÅuë–¯Bq·+0 ¥%€EÌœ1’Ü•…¾öïÁÇo¬@9ŠcgœÈ¯¿{uÊ»,½io?ºþ¡iürÆ¥„dÀÿ×ø[É¡EƒD÷ÿõÙ²€ÜÕE(ËÆ0MlKç8{²þ™‡®á¥5¥(¥Xúq)Â4?~<ÂX– +–|Xˆ²-®<}¤^õ®9ïú‹È]]ÄÌSF¤Œ©¡´Šº¢J~wó÷ÈÌîNz·ÄÞÏÌ»!$Wž>¼k¥7~ùÅïý¦“ÉÚvcCƒ»õŠê°gHRã4wµÇí{÷‚1Ç5ÑÙ9ão}h¤+C9Ž»Â¥K ‡VB^§µŽÈ÷"¯Žr‰ «Eöí+UšBº^ݬz)‘ïä>0yOaÀW?xõMWH²ñì(ž™s-KW1ûŒ£ô*v54‰æsn¸Ð©1~òö*0óç^ïr|ñ$+OÉ/Ÿy•ºòƒ<ýà,r?(ÆhÏÊÎ;˜{óEä­*ÒD€V=ð«ó®LLœÛtÒqÓÉ”R,^¼ºúúÎïþܵlù  HsƒCeU®†åm†D’´´4ÒÃaÂia–mÅü8ƒ0¾„°}4ŒÁ Þ£Ø¶¶'ÓÚÖJcc Ä¢±”±›‡C>À/g\ŠW¦8oÕ‹þŽ¢ÔWrõ½O=´Ž»s§‡™z7ëwþ\NÕì^ËvŸ…w ú{Ÿ}±ÇŒí4–¬a}¨ß[Âú ®pu ;wîH9³dUqÊ÷dä{ì5ˆp‡-[6PW[×å<ùÛ¶¸AÕAÓ L¿ô&½CºRÒmŠõ7qptûY B}‘Éw(Hˆo,É·-y8äw„_θ”Ë]Å/<‚¨)<À³^Cî* òÉÛ+|iÊUX–|X„Hêþy$P_v¤`Ö©# r?*ÒŠ ¥AÞªÂäßûôk̽Y»¡—¬*æó®<äV°ÉDÐØØô…ÈW8¤û!¥+ÿÉQßú¡kŽtSCŸWŽÀ‘Û¶p7ZÓ;„ÒÜj£#Ç…?N™è”š Þx¿¿bÛÖõª[÷ž‡¿Èëˆâü;´µðöùç½cŽãðÆïæû)[É“é,‰e‡¬B.ûÓ=A·Îé4Ž+ÿ|õ{«yû QJ1gÅ‹)"Àvl۪Ǫà˜1ÇtZýsnº¡i'w[W ”âÝåo³~ÆÃ"ßñ +€ijm<  +¥låo gJ‚áp˜p8ìÎoÒÜ¡ðæS +o“ª€x˲ˆÅb´´¶ÒÒÜÒ¥øÿÊ'«:NbZIEND®B`‚ \ No newline at end of file diff --git a/docs/examples/web/models/models_mesh_picking.js b/docs/examples/web/models/models_mesh_picking.js new file mode 100644 index 00000000..9638e6d9 --- /dev/null +++ b/docs/examples/web/models/models_mesh_picking.js @@ -0,0 +1,47546 @@ + +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 = 'models/models_mesh_picking.data'; + var REMOTE_PACKAGE_BASE = 'models_mesh_picking.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_models/models_mesh_picking.data'); + + }; + Module['addRunDependency']('datafile_models/models_mesh_picking.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": 11848, "filename": "/resources/tower.obj"}, {"audio": 0, "start": 11848, "crunched": 0, "end": 36787, "filename": "/resources/tower.png"}], "remote_package_size": 36787, "package_uuid": "df40d522-4e6c-4394-9594-d2d661fba7d0"}); + +})(); + +// 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 + 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€€Ã>aËgAMA± üa cHRMz&€„ú€èu0ê`:˜pœºQ<bKGDùC» pHYs  ÒÝ~ü`ÏIDATxÚíýw|ÕÕø¿ïÙ]­$Iq/˜^L %„FB³Mo JBË“'l“„BǸH¶!FèƒcŒ«Ü­.IVï[fæ~ÿ¸3³»’lLyžäùü~çõ²µ;mïÜsîéç\±öÓ‡¥P(”R @‘ô÷K€@€!BH÷¯`óæ-ìܱó°÷:Ê@ -‰aC ‘úŽ›ÓùúÃÁ5×\û¥Æÿÿ*È/¼B4ú?žg}¥9òâßöâ ¼ðoûíÿ$0ä"\ò;›öšå\ôs›´ìóüs/?`~Á½‡A¾ø÷À¢… ¹êê«ÿ­cø"$.ô?ïSot:ßúƱ)ß3.\Ÿò}û=3üÏãæ­êt¿øB\òˆEûÁå8±i9©}+å;¤…‡l!»Fþ¦M›¾”R`˜Æ×R$˜ß*$#߃d"èˆ|<"HF¾‰à EÀ%¤²}Ló?{ÈOþ©}‹ïþü5~ü¥ÿͱR"¥Ôàk¬ü#Aì‘@2òAs‚ÿ4è -ù‡;ÞºB~—sq¸“ÉÈ÷9×ÿœ¼Ú“¡+‚ÉOu4‘¯œ#[­yØ<“÷O.z?Ïÿ Wÿ—…ŽÈ÷à?‘þ7 KÞqÕ{ìß#»=hBHÉè™à‡Zõ‘Hä°\ü¾MfzM)Ç›ÿOÿsÆào£p¸êlã{þoèß4HÑ1ß¹óMá½{gûŸ”ϑڷˆÔ¾EZÎ>GHæ žI¿ÞY‡ýñƒrðàÁCž*÷ À¡¥­”"c&À.MP¥X´Â扅¯ñä¢×yrÑëä½o'½è<ðŸÃ ºRøwü«‚ôY3ù$#»#Dj×%Ëþd‚¨Ú÷*%[ÿJ¿ÞYàÒ?u6!Ç¢­­½ËßÐȇÌp´ã!*ñ ×;Aú „EÒ¶÷íâ˜y–á¾ä‘!߃ÿT"èø½£ÆŸ|¬+¿«c¦4$w,ŒSZaÓ w)åÛ_"@†Â¾5e¿™Ñ=å -èÝ+ hN9^}°!ÊÑHó”¼gòÏ«*x…ŒAg»ŠƒJZýB€jE‘Fë¾wõ!×·à—E¾ÿ)â #Òïz#Ãÿü‡ [»$ºBxG0ò”‰KÀNAöq—R]]$Ÿ¬ ôÌè@mM 9½z±wž~`ä'Õ[,¹-¡v´´µ!…Ä‘ŽOyt D…^ý"ˆR6®2é¤AýQ$Ÿ9ø;,^¡¸ú\þã`Ù²e\~ùå_xíŽÈØGÊüO—,è¼h_¹ÆHù~Á­IùþÖoOJù.ò·|¦®ÍsèÕ'D]«â@~-ÐYñK CÆ]Jey•ÿ=§W/ªö½J¸Ÿ^­í•+>áG”lý+=ží@sS#«WLKK O,|[®ºEïEÉ ÷¤¥½T„Ö}º¿ Hï?åD2LÛ ‰ãŽ™NÛ5>d :„@rõ¹©"¾¤ :{ÖU޽ÿþ -¥¶DZm'ÁÁ|1ä8؎²mP`;¶mƒJŒA&ÓDJ‰”R„!Àˆ³ïîrL W”Q^ÕÄ¡À#‚ŽÈïŠLÃOST7+úåt£u 4—l cðÑ´îÝMûÁå)&àq—úŸ=Ö_KBùk¯\A¸ßÙ„ûM¿ÞY>òö¯àŠÇÏfém&ݺ÷ ©9ñO-zCOÜ€ÓÈ÷ µ=BúÀ“iÛÿ1(EÛ„ûG©¸|¥´íÿûZQ”Z_A.·¹æšŒÁG©~€êê:bÍøß#µoaE>ö¿{«4H™Š$Þ£Gw”£|… õÀjZÛ»¼áŒc Îgð³§qáÙSùÎÙÇrþ¤1¤8ÞÕb L­{ßäÏóÿ…D{¿Ì?„ÔÈÿ&@}¹àÙáàŠã"_ÿ!.H€¦â þ­kWÑmø4ÿ{·áÓ¡Rd¨”pŸs}½ ÌŒî PY]$ˆ Üïll.{LkóÙ99½{ -Z÷ˆÂ§…ôS÷ŸÌ…gO…$…N ‘.;ÿÁy'Þ¨JEiÝ÷>­{ߢmïÛ‰5 7qäÿ‚À76ÑðÒÀ7xâ„fñ݆O£¹$A2TJ19@‚#˜Ý}¹ŸŒh*«ë©¬®÷9Iѳ‡V$3KßÑ—è.§lÛÿ1m6¢TŒ3Æ88NçÙKUð%ˆ .Gðe±üñ¹¿!_êß7I‡Ã½ú -.î+û¾Óåñ+ú$ˆ¾£Â×Õ1±sÇ&uIžã#z 3غvN˜AiUs -)DÑ^Y’‚ìdðÄ@òyïXF¿³q€Wî0Yºt)ÿø4“–H 8QPqmû>åpö©ã‘.U©W½ …@š†ôl}xåÍO½×ÒÿDÂ,DÀ]7ÿˆ#CšôêÕ Ó4| ÚŽíæGpäJ ­° å€e[ÙIJ Ó@JÃ0S”@謯ø}'bR]°–‹¾sd1Ÿ!µ ¨ßMéï^_±…Mú€´ì}–½o$½©–—Úõ¬”ƒRR$,’×ÌÒ1—ñ‹Q— ƒä{õþÓâ…ã.¨CÔ/¦?ä»ç£ˆ¦¬rðï­~€ýP]]ã ·} ÷±óú³Fú€ãQ¶%·WlåŸ>À[жëHx*Aë¾÷ɬã^\àP¹„ wï¾G<¯ZS¤’À‘ƒrßG p…£Àø¦Sãƒ|^}õ5.¾ø"¤i˜˜?ÏäýÛ‡ø%¯ð®ä¿'û“¯÷þfOœ"ï“?{0xÈ`ù×_Þ!nëj[ƒf€"Œ£[’­d>ð$×Äa1ð @Ѻo9B˜apÕ9]§­KCÒ«W/ä—E€Ò"Hüb™#eŽã …dÍš ¬ß°…Í›·}“1¢#B¾'ûö•(Ó0SdÓ>PôouCBö{Ÿ=sÐ;ï]Û^QâßÿΓSž··¼”wÞy‡ÖÖÖ”ãÏ/sÃÎJ镬â(ógYGþ }àÉNp!Èx­ûWê¯2[‡ƒ»`Ý{ô ;+;1w¾0O\l¦OoÚÂT¼÷þ*„X–E$Á²ºIW¥€ÙòÞ¿}ˆOÉîJö -²Æ $Ü7'j!\ßy2„Óºµ -)¸þŠóY¶*îê’Ö½ïº'ahŒÊPJž`ëþ•îÊ׎¥…Ëã "ú–C!__"p€ï¯ö-„à¦ËNgóÚXS$]½M1ûÓyã¥W)h óè‚÷9aˆƒ±-Û¸æGÓqXð×uضE³eã8J»‡]¢8óøQ˜¦dùÇ»±,Eck›N“S[†$É éÕÚµŸ˜8Nj0éØiSø2 ª*÷}!étÅ º"ˆŽÇþ2Cñ½DxùÛÚÔs'…>xÿ]òó;ë~˜O9,[eѺÿý”Óƒ¾å]ˆAZö¾î}ãÖ뾋RJ#ÿœ$äýûõ#ìlî½»beÊwÇqR¢”âšKNbçç‰ÙÔÔ·SÞÖ;8Nc]Ÿï—8ŽBÊ„µm!ã{iñPÕ¥¢5„ãè¨f<gˆLF5–{  ZÚ"Ô´÷ wz¦!ÙצƒCîs Ãt‰Á3ǧá¯Ã¾2t„¿žÙY›±Û¶PŽF~G"Xùþ{lÉÏïüƒBjVœÄþæ¿ô®‹|OYÔù€×|+¨‘¦´‚•âÛLbûG9ŠÑ£GÑÖÚJcS3¹yÁ0 #U4éîèÔ-`D÷6ÍÆ‡½­ÝÜÕ­¹@O»šòÖBŸU{«QÉèqªÚ¢ØÊ¡¾-ŒãØØ¶ƒãØŒÞh4JÏî™Äí8Óà`kj>¥5‚IÇ…B>/Hó×ÐŽ„’‰ÀC~WïŠÇÖŠL"¨>XAMÍA - Š(,êZHЃàùeËÉt.3ÏL Ì«LÉüí ÑÄСC»ôï·µ¶bÛ6õ 45¶ø:@,#·B" Áªפp.¥ñ¸E4ᤧ£…£×±ä°ö³MþuÁ{Ÿ½ï¡PˆÙ¦”Á I¿ǧ¼‹örêrº@À$ -!…8t4ðKÁÅ_täðU@)…í8 -Øq8p œh¤=e õuõ”••¥‚G^j–”tòê}}”^õGm­­457ÛD"jjê|Ðï’—åXÄb1,+ŽmÙ8v(|îeÙ6ñXŒ¸'·ˆD¢DÛcØ -ÒÒÒHO ƒús0pxFg-E·:B"ðüGTþu@kª’ýûЉ´·u9¸¬ì,²²³:t(5µµ444RZRê#ÿËB·ŒL&NOVvöß“ž‘AzF"ç~ôè/ÿ®e¥¥´G¢Äc1ªkk©©IMŸóœˆíþÕQ¹)ç ½ŠŽR|Ht8,xȇÿA(//Ʋb8¶ƒeYGTÙëÀ¨‘#4W(.=¢ßëÞ³;ÙYYdf¤Ó§oÒÓ3Žè¾?=öÄW~ÇŸßþ³”ç$ï»ví¦©±‘ææÊö©½“XPI)qÁ[åžpX8 $#@|ºæ}Ã0éÑ#‹=¾Ø7ž 55UÔÖTaA¥ï—…úºzêêêinn¢¤´ŒáÆ&B¶fìììCÆð_ñG -‡#¶mßAVÏž 8€Ý»öÐØÜLKS –mû"À4 LÓÄ0ÍNp¨Œ Žâ #òÄÊÞH¹Û³×¥‚P'¢8p œÖÖfâñ8ÿ—à釂#!†ŽPXPD}C‘H;iá0ñx !Œ#'ð‰ +äCÐåEID!ÿ#+ý -¾é×_¬…ýó¯t:wßìqþç9‹·ö]Ý(ø*Ä ¥¥e´4·Ð‰¹JöáQx¸´°#"€ÿKðeVùõ¦WOíG¨iˆ¥ ÑC~MC¬Ó}Þu‡»ÿHáë@YY9ÑhÔ÷a$é§ž~Ø{¿Q%ð©§Ÿ#‹ùΕäÁÜvëOè‡Cà¡&뫬òäÕí!¹ãJî -ùá‹®ù"îÐqì_… †rÈsÕÕ•ô>„ë¾!ðøŸŸD†i¥ÜBåÇØº,ìøßù$¯ÞŽP”ŸHŽ9qÚ!Ÿ™ŒÐC!Øãt¼¦#‡éxþ›à Ép("øZàñ??é¶…ûj}<„åoàýâîG|ßó¯t‰ìdHF¼÷ì÷‹Œnuù_Ä9¾È¬ü²p(Nð•8@W,7y’“‘”Œ8 yÉ÷n"õìäs_Eþ~U¢:ܳŽd‡âJ‡‚o’:Á—"€#•µÉÈ>ä%OÂáXöáîïøüÃý®gH”§w<ß×8«ÿ2× -Ùu’®®û¦!™¾P -éGºzï;«öŽœ8‘¿xÅv|Ž–ç‰£ãï{1râ4â ;ôëÿõîë(ÿ»ºîpc9kDSÊØ=ÄW”nN¹¿+ÝÂÃÅ×%„dq`ÌžuÙwuÑŸ{‚µk×ùƒ™6&‡ »¾íž±R²ûð?—Ô‡è+¥¾Jg–z/髯ªHAÀ´19L“ãß 0Í­<ö (%õ¡NÇë«*(©±aW.™(’Çæ‘åœÓÇûǽß‘eDVÔ÷†]u7yL -r´Þþ³½çt…ü¢ü ŒÈŠvùNÞ8¼s×_<šÆÊ­DÉöŸŸ És~ýÅ£ýÏk×®ãÄŽÿZDÐÖÖBFFfg¬Ø’µäŽ+̃¯#ŸµÊ“¶®¾ƒG|º8°Áûá8‰V5R=ÇvRß/Öç=äw¥Hv5ÎäEðEÜ£ã<&s…o‚TWW&t€;wFرcõõuÄã©}G–”Ì.5™‡R²ÎÑÔå}Þñ®®ïÉ_ 'ûuÝ¡®=’gy×é˜;.œ#YH_•©‰G­« òò§ÇžèRq;ܤH)8c˜®žxÑýG<ޝ ?¿ýgßÈïtŒþoŒûëÂÿs®àÿ?9ôîÝï›Ï0 ÝíâHë’ÕWÜw'/Î{ŒAƒ‡é²oÇáŠn'Þ=üƒ:Ôëýñç¿pëîðcîÿÆý)þãÀ³¾2˜†‰4 î}á ¦ï,6n\OmÁÎün§S›’J$Ìž2–Û,áñ«/gñÆ]‰ón»ÿá3&SS´ŸÌ1þ°æïÄ"QâÑ8Ç̘ÀÎíÛ¨/?È)œÙ)3RšŽ­Ó±¯€Ù£G"uÚKõúãú2{ê8oÚÉc×\Éí –pû‚%8@Îè<~õ~š˜‚[]"˜:e*­ -~ÿ³«6rÓÓ¹mþjŠ+‰†æÓŽaÑçÛ‘~}¢ƒ@2sÊQ,ú\§`Ízë˜|ÒtWö'W”ãpùoîw¯Ä¥ÿõ{Âá @ÑÞÖêZÿwápÈåeE©ú´<ºöo˜Á€O³§ŒãÖ¹ q°ÑÍ’Y“ÇøDP¤œtî Ý}Iòó·ÐTY¯kýæÜÍ¢»´n°As€Í›ÖSSP¡•=±KçÞI}«Vú®¿w~Êœ??÷r?LxŤ”ºžÏ|òÎ*”ã LÉóÞÀïs?Ðà(Š }$7UÔŠ ÇO¥´¬Dw¦stAGs•»CIï,ýõïñ;y¹¥Ú‘H›î÷÷N_„ü. `Þê¿ ˜Áf0à#ù¶KAÀŸ=pçnÚÂ5ñ.õŸoi§¶¸Šd™l¤i•cÙÜ»Ám/hÎQSTŽF:À÷>J¯Ñý‰4¸½„KVÊ¡¾ü (½òÁÕ]\ÂÙµ{§¿³©pK¨šÔ¸mu?!„Ö?Åön9†ËÍZ6¢l›1SuW“¹×ü,ùÞ_¥±Xä?–Žù)pÙ“÷ø'Nœì¯ÄgGîæ]š\O2Õ/à$ Å -Ø´~‚ÊüR̽¥lîžÿþpý¹oÉë‰{îʇ¥ßÁâ »™=íh.¿÷€"ÞE8ù¼3ýn;wo§®ô >~ÁÙHt5®°}ûVw‰M%÷ê=‰ËFÙº'Ñ AƒÙµakBìU;fÊx¤!QŽbîµ·v‰|¿±RÄbÑ#+ØøC~ -ˆmà®ç½ý0nüD¤”ÜxÚ±)D0eÒT¿bkÖ”±>Ø´q#¨.8€ÝeÁÜ[È[[€‚+ŽMî§{˜uâhÂÁLr7ìfóæÔV°ì‘_à8ÁâM{ÀcÅõMìØ¦«‡9fœŸþüéòU à™‡®eÉGE¦ÉÇo­ð‘~Ê…çàÄãÄcqª -Ê)++E9ýû¶¥»ƒ¨Ð"«¿þTVUÒZÓ(ÌP1S'h¢QŠy×ÝvHä'ÿÅ¢ÿv"ø2ÈO!€y«ÿÂÌ´ù—LãÇOG±»dO¢y“€)S¦ú„²qãÆÕ ,˜{3Br×ìÑ2Ö])ÁÌ0üCw¼^:÷~¾Coc;ÁʶùlµÞƒÀqãÆŽ÷ÙÌÎ]ÛýÏÂ)^Á±cÇaÇ-¬hœX{„ƒ%(/+¥èÓ««Ýk‘PYQRŠ~ýû M“ªÊ -ÚZ5q¬~]Gñ»›~Þ%Â}δ¡¶eYÿ6"ø²ÈïD€O(ÅÕ÷>™`ïá cÇ2|ïûÒ9w±xó.ÚZøð_ï‚„…snÁql–¬-ÒÍ–]™ýñ»«X6÷.­ßÉUÇŽaÑú]Zv;ºfîóOÖ€£xøú YúI©–­XóÞÊ”ž{Ž;J‰6禜r<Ñæ6â±8õû²Ÿn\Ñ»W­õ»]5ªÝ-ërzõF55RÐVßÊè‰cüVnŽãðè­w'íœî"ÝÇ}âs]}ÕÕ5Äb1úôéCŸ>=þS®#È[ýykµf·f73O<Šìý|ìÖWbGc¼üè} $·-XJmaÂà/ιËõñëU’5¼/õ%zo¡¼µEÌ:ñ(¼áê=ä ÜU¿Àå¶e# ÉÖm[|âZúq)ÊQ)صgÙƒûP·¯šçç\ÊaÉšR¶mÛBma%Žemi'Q·¿ -'në>€‹ã(…²mª««ýδŽeQ}°ÊßàZÙ6±ö(FÀÀ±t|Á/ní€ð޽%Å%ìÚSH}m.ï’qãÇÒ»W/úôéMNNß4|òW¬xWû8”âÜsÏO9'ÊËŠTòêÏ[[ ÿ®Ùͪ×Þõ/TœþÝsB÷ѹùôc¹má2ª µïŹ¿ðÝÄ -h«oþë=²†÷áw×~%Ÿúıeóf$ ‚&f(ˆ”ºËF]q¥&< ÒØÚée$а¿Æ·oÞïIjí}+Çñ9€θè[þ5žÌw”bwqµ…®˜û ”c#¤Ám –pÔÐQlݾ €ú’JÕd臷ªæ^ýmr?* šì*ÚÀc×ü˜…ëvÑXU‹a˜(Çbö™c¸çù×@Aý^í 8õü³Èß²I·linǶlêÊ¢b:úgÇ,‚™izµ;*ÉœÓë6;+›ú†ä&‚ììlwÏ ­`ÖÕ×RääôB)øÓÝ÷p(xï½÷)(*ô9€4$†ašÍÂ00¤ Ó3«'á4¯+HbGÃp·Ž“RwH7B¾·ÔóÀ: -tÝR¾˜xpî¹çc^þä½þºb·Ï¯”äoË'{D?êŠ+9ã¢o¥ Ý (xø² ¸oé›ÔWpÙ=¿óBÿ8 -*·–’5¼ŸÛyIßfÛ6¿»öb®¾ç) ÃàºûæsÊygbÇl*·•‡P8nŸ>°m‹@0Èâ•{wÌx>~çýp)øèͺ5K$Žã8ØÑ8ʲôÙzwì¬l•G›Ûè?d‡o²³r¨««u?gûÄ¡Ô×UëHH¸ -¥á¬>HAQa§ãRhõÔC¾aº×1R¹þfãòåow¯zý½NŽ‘|×÷¨`üø‰ú£übþ?p”âŹ¿ð#ƒ¹›v°qã¢-íÔ'šGÏøF,;FÞšz€·´gÏm»š5´ßH)¥÷R`[†i²m[>YCûø¦¨p”Eœ0} -íM-”aEc <ˆh{»vþ8YYÙÔ)E¬¹]ÿ†.“qài†Bø@­ $õ,êöîÝ×ù ñ†HA¾ÞÖt_m[ÛoÌ?\§÷йkþß|yïƒ;Q¸î‡¾Ât×scÛ¶|7l«'å7þˆ–ö:þ¶£’YSŽF90eÒTÖ­Y“˜T‹>Ü…Ô j - ˜A+j¹s&xjùzÍ \:ܱS+—åÕ88H¯úØÖ~…É'K¤µÝm«ªh­i"+³§«ˆ$êçcÍîFÕ.këjñº£øà·öOhú½z÷ê|¾Ôvì$ÑûItÛÑICbˆÄ>Gòk®~Ï2úZ÷©–»!xÄàMÔ®ÿykv'lýd¢•‚ß]ó¯Ù(fž0šÜ-»™9e4y[ -7v<ùÑ8 ûjyaÎXv”eŸ•ÆõJêËjä ýY^+e»rÎÏ -r8ùÜE±s÷Nj ö³qõg3eV4޲Òº‡‰Çb®¦ÛÇÏ!Ø-L¬¹¶×óŸˆWxPW_çŸ9ü–/PUU™Âþ¥kNJ†B&o®¬ï8_ù‡#‚#Ý4ÛôÚŽ-YWÈ §j—oÀmd<÷Š }ŸÀb—PÆŸèß¼Ímò¨‘0!7àØ6[·mEM²†÷åîþ¡u†«.à¾ç_óçóù‡®eáÊÝìܹ¬!}¨/;Hmq…¿1ƒ0 ”¼I²†Ö˜R‚º$ݲql›öúVzdêžA]uϨ««%ÚÜN¨[˜h‹û·©Š¦¶ÔŽÌnؘ^ åѲ;W@ïÜÕE¾¾§È¹«ßC¾p•:¤üD@Ç„8ùúÌqå8ˆ[–>œ2CiÝ2Ù¸q½ÚõGïј:e*ï½¢·`q’"@vL—:ç ë«#€R§oi/‹Ãï®ÿw?ÿw½aS2B”­ãöj(¯æ” Ï&ùr೫ýë½( ÖÛóó©Þ³Ÿ£Ç¥¥®½eå81‹ݺ»I¢êêR~:ÖÜNÿ¡Z¬«Oì^’rMKâOù{ôî„Ò PSSÍ?^ýWÊ1C˜f3h‡ ƒ¤ƒCo  -¥Ñ½[f0˜‚¾/cØ–ívGÐ÷yVèrýX,F{{{—V€rl¥þ¦;.ˈ4·Pëfù¼8÷¼8ïôvÓ½6nÚHΨþäŒ@ï£Ð{Tzî bƒ<}ëuüåO÷Ò÷˜¡‚"-Ì»îb}´›y×|ן]Dz†À±,œX\‚­WÙG¯½Çå'ñ.‘tÐ e+Ž?ç4-çmå§|×—é|?oÿ>e;´Õ7k-¾¾Žúº:êêë|–™Õ#+±Èý›Y=³ÉÊÊ!++‡ììbÍíZ_PPQºO_ïO^ê¶#»vw^ýz:…»Ñ•V=ä®OÀ0Œ¯ÌþãpbýðµÕõ/xÈ·ãqÌüüÍ)Ï”¦ ‹óò£÷³xÓðøÕWø¡àÇ®¾Ü߈ñ¶Kt’§ÐnàÖnášã'0yÒd6oÙL´)BS[OÉ"oMcÇcÇ68rè(¼È[<Ó”=Fñéò•Üò«\Ž;ãd®8m¿^¤÷è> ›;v¸ ÂÂç>=dmi§´¸«]A¨[˜ººZßå‰îìžÙ]¹³äÏVRz€¢ßÔÕ×ùJãòý p9A2¬®a÷®Ý¤ÎVJæFц¿ë™Î†2 S·“RÇF¾"xDíHP†ÛFRH ¶î^.…ÀN¹'ü¸mc>zÝ%̾çqrð“;æ/ÞOî¦nògbêoØðøÕ—sÙ½ðgôÚã'ðÂg[™uìQ %bqîûã¿;i"JÁž]; vOmàkÕ+ Ó`Ƕ­ô؋ƽ5\~Ê~5_G ›ö×ù,Ü]À½Ñرц6¬h Dz ¤“&U,;+ÕÿknG•åûé7x`Êó’õÁ`·0ˆµF¨«ÓJáU÷þ’E®K¸¤¤Гì(IKá[€" <ù¤góÒG~Àt·ŠM²º–ä_ Žkátl!*]%*YÏèˆ|+f!s?ÓÊ]î¼ÛÈÞŸ^#û“ãfîþøÎ‡ý›§N -n_ø¢O}‹7ïâÅy¿@Çã 7ìDš&K6o¸=‚u8W)TkjeHÿÁšý»ñv+naE£Zk·lº÷Ïâ¿^XŽr åÕD›[;q<“Ž?–égžÄäeÚé'’Ö=L $" ѳg–ïª6·wB¾‡ØP7Ýl²¢|_¢K'PßXç{ÿPŠììÒzdø;J ©·‹‘¶oßáçEH!BS! }ë+´oZŠi˜ÂpW¾á¶}Ot)ÿ: ÷´Ùëø»Ÿ%ƒÞgÙÝaÝ‹šºÉ¯òcñX´xí.&LšÈ¬ãŽbö}Oø,±½©O?–Åvd${$ÈâM;è=z ·>»„IS¦`L¼±ÔW‚|¶üC²‡÷ó£r—5”eïéÕH ¢”Þ»iÜ_›x1GaEb´Õ6Ò«woö¬ÙB "-#LFv**`Ç,â­ºgtÃ1CºøÃ¶RŒºŠò}ô20iÇ.MàÅ~•åû“ª€Bß' 'ÇõøÃ¿Ôiìuµ¾(†/ ¦»Ó© ´}ò,¦€ìsîÂ0Á ·ï±D}6[!…ÛkØQ`$XBj·¬l@96V<|+niÈ]«C¸³O8šÜµ»é5¼¿ëÏÕ¡Ðg?ZOZfz2}±ióFÊ”µeÙÌ÷Ù¯³éå:–¤¶é¥¡C¿¿}ö=† nc©¢¢Zk›q,‡É§‡R…kóiFéžÙxLOT<§½©…Æê:ššš†DÙñ@š6i\÷tvVõ õþ*h3QHI}]!×L(ÊÝÔ1Ô-¬W¾Ç9„Dš þꉋªªªRÛnmB.—0Ü¿-ïÿ€¬Ï%”¦Çë¸ÄöuÜÁÊq°ÓmYoø²ÀjºBÝ_ï%â@TAÔÐI7bÙ. $³Ž?ŠÅkw1ûø£™ýêr5¬,I„„` ¼[øFb¹$í`ðè¬1ó?*î½ ƒiHâÑf €—aëùêKKŠQŽ"‰1á¸)Ôî­ tÓ®DÚ¹”ÇÑ™?.ïu,‡Œô š››êkkéÙ3Ëw)ƒ gžTíÓnâ:j}B".è?d ;‰zÅWìÝO´¹þCùéãÒ˜“ä@4E&InÃ]ñA –‚4 a÷´‡’ xõ^‚3Ÿ¢½½Ý÷oã {€w|ßPXNœ–Å·’¾£GA›1GÏr‘o±X å(L/±3wí.¶nÍçÎ-ùäŒìÏ£×ýÈ•¥p÷ ¯ø?j¦§ù&Ñã×\Ém –€<~Õe,ܰ“oýðÛ\:q(wÌ…š"íKx纞aØQ#()*ı¢­ ûj5QØŽÎà9P­÷ÌñB³.çJo©÷ r0ý”,ACCƒGøþ²ö8€Fœ–…Ñæ6—½p9ƒÂ0õ¶/iÝÓAéí_„¡moÃËŽöí"+‰bBOòθÛÈi¤ÇØJhŽÐ?¨YqkÞ-¨ï?âÛå]¡_#·kÂðR4¾ò‹ndŽ `íŠc¸Î ÃýívG@‹ Κùd;Kß“üàÚ¢ -;ïV¯Ýíûûkܬ€3¾ó-nœ1”Ãâ Úiû§Ù?fáçÛ¹rÊ(L3È Ÿnõ‹-–EŸïpwÐHXž†ÀQŠïŸÙŸ¿½·Ÿö¦ͪmšuûÍgðöšƒ(ÇÁŠÅ{ò$Ä‹—»ƒÖÑ<JÏX÷î=RGÙ@@Ï=uÒ‰‹ìÁ£‡ƒRÔÖÕinÓç(©·lC@zV&í­(ÛÇ£F`†‚A‚á4D¾_Çrl¼‰šÆ¶­Í~“zUJF¬ˆ{ˆ8þFf…fÓ!‘b…‚åÅ&,¾™€ÔHxEB{\sGAÆø4,KÁÞ8jLÀÝQI?×TZ49àr¸$óS¸ wín?³Ç‹ÕUQSRåï˜iiõµýÛ.cц] u‹yð,¸ó…¿2ûÄQ¬« £l;n3tðPìxœÌ>=˜ÿò_¤xYéü.Áö¤á&=˜†iúÖ‚f‰$  ©¹Y#/-D(=@Z@Zˆ@8ˆ4 ÒÒÃÃ!Ò2Ó ¤¨k¬ÇÈìÓaJö—葉±ž´néÓôs‚á4L3H]]=Ã$`˜nk'-Mpò©aN:3̉ç„ñöƒöø9—€)!œ©‘å!E¸¹'¡;—e…𑵼$@Ô-jñˆÃ­‰¥Û„4ºOJÃ0 ²Us0ÓÐD—ê.ašB\0`bfj, «÷w˜8i²¿‰¦î9GçzM˜8”bå¿–c„Rä[?ü—NÆÌ{þä³ÿ«ï{m)(„r4h¥EŤônøÉ±üí­bj÷Wmis}zäÒ0Ü>Ä .ä}÷²ˆµ}®‰¤±¹ #``¦…0p FÐtW­dÿý´Ö4"Œ?åØHÃàÀ­¯(ËFM„´7´"M£SÐÆjkçÛÓNGÑ´i -èa*¦ž«9czº aí?Z9ó‡pà#ìöF(h„& -SèÏ’„œ x¯$Ày#ã¾"únq€óGÆi™FtgÓÕ7R?£×ÄöŽ8–{}ÄѲ¿ÙÖ2OÓý…Ä©¿ü±òV¾7¹ÈÞÔ–T¤AýòmÀQ,œs ÷.}Ã/ö©Ú¥S°?| ¹k ˜uÂhîxîe”uEûqlå·{I$Fè—íÕ=›Úý‰¶ºà^c˜¦»H0·ùƒ÷×¶÷ZƒPz˜æH+fZ@#SH†4$ÅE^øÛÖÈN\gIÃ`è°a!¤§QVZ‚ -ÐT™ˆõ÷˜CU~ ß9îZ6äêãf‚å{H<ñ’ &NÏ@JÁªGª°hj‚š¨k®»Èw\«Á®½î.]S€)o8xÜO÷ú $ÀŒáqÚG§ÛA -Èœ˜æ­]²L›øŽ8qŒQâ6ÄâPß­UZ7P@·3nG¬+ü›˜}NVÌÞßGpÛÌ!÷‘[ý=pAr÷ £¦è çÜÂ’Ï -¹ìØaüê¥w¨.ÚŠ;,ž{‹?Ýå³sÛŠ³5 ŽRÔìÚ‡‚úSQQ‘P΀°ÑT]ç€aÈ€™‹IáZ/sW&¯P=û÷&gP_ÔTººÔ•Wã³åЭ_MIB¥˜xÒ±H)1CAœ¸E0"QX\€ã(ÆŒËýç_É;ï¼ÁŽ»hߘë²lèfê•’úŸ.¾n„1ô%WØooå㥭V—´"©èÆttÁ‹ T¼QàÛ#âü«(ÀwFÆy»8ÀE#ㄎ SÓ ý0¡ ¨mQ ='ˆÅ@о=Ží@«m64zà,]ìb.^»›ÙÇÍ¢9?sY]b½ÏºçÏÚ"X³ËŸy¥¸î‡Ü5ÿ„\qü–|VÌÃW\Àuÿõ<‹æü”EkvúȰã 7aù·€R\ñý‰¼ÿi5JA¿~š´i­D†ÃDZZÝ]b¥Ÿ¢y8ž#BsÃ4Iï™I÷>Ùô1ˆíù[PJ‘3¢/Ò4ÁQŒ}v,{|'Òƒ5ú(Á -E0D 4MMÃ4!¦ ¹z 8Ò] ’šÄm -v¼Q…R‰AþZ8õÊ gÀŠC8,Üì(ýÝ Àƒ÷ê7NpÊÍ™LiÕc:0Œ ›6; ˆïŒÐ¦À‚8P·9NE Œê¡9‘z,Ñ.üÎâæä|fŸt´6ÑžÁ;çÿ•ß_ýCr×îFx|ËVlݺ…ß_÷C­Ñ^D)$«^]Ž ,|èr?+p‹G%ñ¨.žÌ߸‰Ú¢ -úôêBh‰ÜÁþýûSUXî‰t°…E -@Jé‹!%é=2ÉЛ`8»gŸÎ’OJغi3f(ÈØñ°ã1½Õªƒo.®[µ”ƒ†ïxnÎ ,]S®ÝÛý¡ŽŸ “a2ò«p°Ùö÷X -Ò%= Žé, 4K¸ðv¨Þäš`6lüH‰'Ÿ=‚ÙTdâ`½W²!5—:þÚ ’sa6/jÑD" ¿\Wiø–ô•?ÏúP -úž&º¦¸û;­®üo°|T“yÆíZ œu‚Fºç -žuÂÑ(G‘»n[·æSSTÁŸ›”(غu35E•ÌpÓÅÛfÕëïú¬ìôï| Ã4Ù²E»Œ•å`Å-j÷ìÇŠ[Ñ65Ð_ˆ°G1¶m¥¬üŽÄ`šž3S`dõïE·ÞY>Çè7jkÞù€ìáýùýMßgá*MÜŽ¥³m+Žm;íÁA—ÅûöÚÜ«)®LÉ®¹tâi`hðqºu7èÞMðø¯Z'™U&pçã¬*ƒ!'¶Rº&ƒAǵ²Y—;tE„gÇïÜÄpÔ 8Aו±ko€qCb¾[9æùýyϾ ÃΑ¾w2`„†„pbŸµw´ùG‹€:K_\AÆÉ7{±€Ý!µùç~÷ó lGûìDEœðÔW7mJ 5õœáý5—p`ë¶-Úÿo~]¾ äŒÀÁº€¢¢²‚þý$°éM^ @ -Hïá¨,ÜÛ)KÙ¿\yîb0éÑ'›ÌœžºÒH¶¬YO0$ÒÐFãþjþ²i/·œ3•Eë4ךyì(–m.ãý¾í'À& ->Ç3B&yÝÎâõšxzT -LÓ¤öãf$Œ;/‹;çfbHM0¡ Øtï®ó÷}–P¾.ƒ lõMAÏGà¥8h~©ØVdÒ˜ïÒ+—•+ø{ƒŒ¢w b[#ÚÂPš›dÎûÜÈÖ Ç=ßhéw X1Lßô&N˜˜²9±PSêz'è'¯zõ$¬zu¹ž-GéŒ]a°àáq”âÚûŸq›8)N6%“Nš†ã(º÷ë‰íÀUÇÅ¢u{ÉUÇÅâõàh‹Gºf̯»”ÅŸïÆ0 6mØ@mY%yÝNÞÆ_Ù º-«Á¬¨×.WÓ[‰ÚÏþœ~—ë/Q‚eæ+ž¾³E›€® çà†˜÷ ر7¨d]V`%¦­åÁ„ûyr˜XLÑ#M‚¶ÏÛéÙ'€Èl'Ò’$ТÉVž×Q$¹‚XùêrrFö§¶¨‚œ‘ýýœ{>çýü¢¹·à1;ÛŽñ‹…ÿDÙŠÚ’ -ν…ÅŸîæòéÃÈÞeë"»vr̘c°¢1ßüÃ/³ÒüVZ÷À0 z@Åž²”J'ý€Q83Œ¬î„»wÓ .ûßòézüõ…<ð› tï—ÅmϼÌc7þ) ~þÂËx -…‡üG¯ý1K6b˜F’e!1Œ ß«°~_¶Ù—–·!%xnOƇL+Iv{Iš8ð_75rÙù·>žíœ4±¸¯„àØ°ãÕZ&þ(‡ÿ¬eÜ÷9 Þ;{°üµ6"›u¦s\@`Z˜Ð´0Á@BÏp\N`h±´øÑé˜óÑë~ÀóÿªM@wžkŠ*|¦¼hÎϘ}Ÿn~¬­‚Ý\yü(ò>ÝÃÌbâøIZ”Žcsåq#Éû´y×|—ëîÎ-ËqÌXÍž À¶-úôîã"U`¦¹øŒ¼ùIµÏ†Ó{dÊH#ÒÜ–Ò¥CJISsiÝ3À‰rÛ•cùÛò*ßV–æüö»(åÐc@ûkiª¨gfÙŸ]7®LH yßFîúfO?š%› -ÙðùçS·>›ÇŸo¸’EwÑPYݯqG#Ê”Zæ*ôg—9ù„áE{•ÂÍ+»_¯Ócu{N9Jsï)`Ç?ts»û×oh¢ëo(ÙœNh:¤M#%Ä6µÓ¶¡°† ÍÍêTN Ðz“ï œu‚.ÜœåúrçÞêSš§ þþêï“÷Y3MÞg…~ý¼÷†«^{ǶÒà´ ÏÖ8”bÛÖ|êËvÜ¡­¦eÙXÑ8Ã¥“5„NIïÙÝíâ5 I´=ƾíEØñ¸Op', õÈðë„)¹ûº“†¼ôÖ>ŠKŠ]~#GŽ¢¨¨EÖˆLš<äoÝìѼþRp 3ÈmÏ-C˜F¢!ºÁÕ¥wÍå§g}ŸöŽtOsY««|Aâïñn©…—œ¬løåM&?ú–fæ¦tWR¨Y† ÂŒž¦Óå”rM—Rº9a“ÛØgêÕnÛšƒÄ6êP÷èKzpðF¢Íš`Úl­?Tǵ%àÝO¹YóñY®öïAî¼[Éýl7¹k÷¸¬Úgf …ßGÀµíf¶Ì¸èrFô'{x_}©‘P§{éE½üR+„ ³OOVUQu°’ªª*×Ço¸fòÙWZFÝûdÑÔÒLSS#½‡ä¾Îg챓‘A3B¸Ëï¿~û&?ù!Å%Å.•käÛ¶î ÖTYOÙ§;¸ê8Mð'Lö5÷;æ¿Ì þÊmÏ-`ò¤ÉœýýóÉq‹X.¿ï÷)šALCÛÿ^$Ï[ù†Ë¦ÿ ±šÍ}|w…‚î½ë>OÓæ¨û€Oצ¡€¸…;î»,Ú¤ÝÌÅ›4ò 7†Qh/_tS;Ñ혓µhÛÔH ¤ÓÖ,–ˆ[µmûãMª ˜uüÑ \çÏ\M³Ž?šÜÏv£m÷£`„I -&Í›7Q[Råj´zV[‡vË$ÇÍ8ØSJyi)ÊVØq eÙà ⟞ÃKËK±âq7l«sÛöî/§½¾…´ìLî»ñL^yŸ®¾qƒC‘Ö6JKK@š+êüÉäá‹ùËÛû±mýöe{KQŽÃ°¡Ã:y †ÛdZJ‰0[6mB˜“'Mvi^úbàû½'²kç.¢Ÿü„FfЀ´ ”m3rš^Ç^œd¼léƒuŒ®üû‡ý PÌͰ\‹Àñ¶ãæ$ÐL7±C$Ípº"²¹Ý·*V¸äØ8­ÍšF¨‰C.Ä"óä1 SGï–m*!‰ÑkdfÝ«‰`ñg.Wðd&[·mõWµ£`ÒÄIlÉßB}IR -ι…Ã5÷>CöPF®-©ÄŽY|öÁ'æÉHi0dèPËÁ¶möïÛ‡cÙÓCüaÉ' ê;È_>(-/ÕNž^:þŸ‚|Wp–#M‰º÷Ïöý÷ËÞØË á¥7;o -AÙ–Ýüæú‹È]_ˆã8~¥8Ø–íG6ãѸ>ù•Џûv¤1aZ™š‚’á%¶õÁPë 6d kçœkzùר6x¾.!HAz (Ü„Z0MA4ªuñ‡e+G÷_­$Åä0€oý<‡à#ml+”œ~A[»"³NQÿiÄgê¦í¹š,‡Ù'Í[óé5²?³ïý3‹æüŒ¼u{øàË} à€®¾ï)@°²ø]—· Íý) ?Ú,xøF¬Þ…°Õvüæ mvýÆ6 6”œA}).+Áj‹Pº·,%­É˜. Üý ^Y¹ŸK΄ðÊÊÈHÊD9rÊQ+ESe½|)%ñ˜ESEÈ¯Ü -f––¦ÐÅ’y?gñºÝÁ€ÎETp€»ÿ……{° ¥`à1„€òü0#§´ûÕdWÔæ±›£‚Vø>ú4À€^5¸þ+zNË¢yc==§gQ»®SB÷iY´l¬G9Uv\4¦;'®ùh[€L'45Ý×= hЂöùÇßO¥µ~7ç\>“?ò“B€DJ@îg»™0i"[]ßÀì{žðŸ;÷VÇ&ï³Îý)¿˜ÿ7t_…sÊnQé#W—»_ø'ãÆÇŽÇu´ÍÑ)]5û*E[CŽm3ð˜‘sô˜cؾ)3`€Ò9LÓÐÖš”€`΂¹ÿú3˜»pµßôÁKÕ¾÷æÓxùý‰v°À/ï•É'«µô€A÷þÙ~âªW˜‘=2±Ã€ -`ÇâÁ€ß/±#(ûv¦‘}lÄ7Ýá4]M{[Ô¤ƒÈ-}°'è¦ÞÄ÷œ–EýúzßP÷y½ÏÒ[·ÔãmgÐôy}‚ý› Ï¡£4G1MMdÍëÛÈDÜß9Eç% µ¥Öc ½¶œ©Ç) š\Èß’¯#€I¡arsçÝÊâOv1ó„£É][€÷éÆ3ŽÕo~Àb7`ô‡ë~ÈϾÂ/æÿ!«_;æ…Z%MûªÙT~ô~YL=å8̀ɕgŽbÉ…È€ŸŸêfèѣ)-+ÕZ¾¾µ0gþ*7ö/ü•ñë›Îaá?w&8•Rtï—•R#„ð9Àä“§'¢•¶CIi)HÁ•÷=Ƌ܅mÅX’_ÊUÓDzà³mÌ>öhçá6wðôc¯u 7±1Ë5å\G‘°µÕQ:J÷æŸÚ9å4hÚP”°á“4¦¬}ú=¦eÓ°®ÇJp”쳩_§Åší>3î€é¦þx™BÞyoL×g®å”k ¢±ÄãPS/|î!…ÔpòÀÒGîÄvâ¾0ºó¹¿¢Åì“ǰxÍ.0óøÑä®-`ÛÎíþ}3OÍâw2iò„€•ÿÔÏì9¤ 剷´‘Þ§'ÒÍé»ú¼1†ÉOï_Ì“ÏàWóßöS°¥)™uþh^ú ÄNÈË+÷" IaaOJáwôHë–A¤¥•˾=˜‡ž,¦¥²Žnýu9˜‚¢â"ºÈöµkÛvÜ.ɨ‘#<é(¶åçsÛsËøÓu?aöÔ£Èݸ å(­ÛÅÝ'Op+“•»Óšý›ön ”P²1Œ‚‘V¥b°½'ʉÁ®ž('±os€!Ý ÜÕê-9iP¶Q/ÙAŠô‘)(ÛÒÝwqën•ë{˜ -¡ÉéfB‡øäÉZÖî ðÝiqÊ_ÓîäV7)ÄJÖWnY6Wåço¦¶¨‚Å®ö?ó¸£È[·‡YÇͬ{ݦFnzX¯á®‡Ð·ð çþ”¼µ8–ÅÌG“»F7•\ù÷·iÚ{Ì~ÙwΩÒ`í!‘~e«ÆÖ ž~p¿|üUF9Š‚Ý{hØ_Ë£¿¹„?(G9Ž›†? …º²é×7œRŠöx ?±J‹ ÷Þx2¯¼[J±yÍç€Û%Üm[ãe)¥°,›ÓÆêØn2ûÐmÜ1ÿe–Üô0[¶l$Vr5B ->Ë‹òí;õÄR`š Ï^ŸþALÓï¿…R`+‡y7U2àÇ?íÆËO6sé­ÝüöÒHÈv› $ 5w1 ýþ¶®ö ¦¶,kõ™r2!ƒˆ»–ÛM1U±„@ܲl®ZùOÝ5jñ¼[AîÚ]¾·H§‚áŠüáºK¸kÁßpl‡ºÒ*^øí ,[_•ǻ}•"? íõÍ2Òp,‡ nÕ±­”¸ÎÎ];¨+Ó±†gºš¼ÕÅ!hoj¡ @Àóc–}Pæ"Ü|¹”SP¸G럦A}y ±"WTèe2÷¡‹yùíý'6Ž1|D"µÚ½Î¶¤!(**¤×È ¤ë t)Ý÷¥ƒ£¾¾‘¡ò÷`+¶-o¥›ë¸Ö@Àõ·O?Ï•÷ã j£þ{ílƒkµ5¢5÷ÆrC¼Ó®éƆ…Íçþ•À±×wcÃüfv–7<–Ð'®½‘±Iá„Ê íl'Õ 6›]P—lÞsê™uüQ̾çq?+àŒïÊI¤Š»J`îg»ùÃ5?ô»ˆ\û_ϱðaÝØ/ædÀĎƱ£qj÷V`Åâô5ÛŠëÄ WvJÃàéßÎfÉêb¤ÇÖÒ”wþ÷ËüéÁKYö¾Ž zý“³GŽE¡›¨E¬­àŸÎƒO¬Í•õ¾á\Œ—ŽßúÆç,RR[ZEÖ°¾L7!]o¡ûsÕ«AÀ¦÷Z€Dñ‡Rpôºá((ü‡.X9°&“'·øî^v¥Høé-.dËÒä¶aa³O›æëÏÊe¸~I€…ï kÛ }fRÀ'êš–f’ié%’&›š¢¼¼X=²ú%f¹É»fâ²?^ûc~ªÍ;3``Åm@;‡jŠªHתøÓ?Áv, i²hù”²±ã6ŽåDé;b0Ûvl¥¾ì Ï?|yù"‰âØ»wï¢q zðR–®(ãÊs†óâePS kúúöî£ÓÊ#1*++ õÈLŽ×Ÿ¦œ|›>YG÷94¨óEþ ß ¿èÆ+ôŠ -iKவ_wþü§hùàw¬¨è†át¼ØÑÃw)6¿ÔLÈ€ã·}»Dà*e‘(<ð'ƒË§Ø)5 =ˆ^1‰·Ò󋃘®œò‰akQÐËÏÅV:ÝËC ú©{½~ò5÷>ÍOÈ則f²äƒbÁ–¥wñ ¨0ë?^CÃÞ]Z¸"M«Ätÿ_wf~þ«—P–®Ú´úSÅBlË&-3]Ç ”¢wïÞL:ï¶|¾!#GŒv·”ÓYÆÓÏ:•x{†¤¨¸È_Q#GŒ¤¨¨…¢é@å[÷0tòÑ~"¿o°;+dê¡® ê…Dℌ„ÏÞ‚c¡a»NÍ2Ýsò=D¶—}OŸ»¹úáKˆb[ú¼Ppùo‚è*;…£ ºVÛý! WVµO´èç+ýLËË+ð‡ÒV@Þ:íñË[·›œQýýUÚî¿óù—-•¥AnݺUGÑæÝÎÂO¶ëèàZ]î•3¼/•ÛËøÙKyâ¡+xà©7t¯/ô«FÈD ùÕ%¼ô~9?8µ/°×cLìÎßæ²|­Ì¡€x‘+ƒ€B6Cn™´»¥ki×VEbaLOölZ«QŽbú™'DiªÐ\AÁæOÖR Ÿ>žHS ±hÔç(>ût'Q%Aò9€A§5Ó¸ö¯ÎôWç±91¶•˜®,7]exæoCX174.5QD£W> n9\úë†kžnÑfŸ‚m{ƒÔXŠqƒâ~È ;€ŸfæqÏŒt”ƒ‰Ì<îò>ßÍæ-©-¬ wÞíØ¶Eîº=˜†Á„ “µs°l;Ål´m‹+ŽE®ÛD -ã'N"ÒÒFÃÞj~ö@O>4 Û±p‡_?»„ qo RJ~ùð?øÓoÂÒ÷J˜yÁhz~RÄÛã„{¦£”âçWÄ?WVðƒsò÷w÷ûr»´¬D¿ ) .q›; ¡k+iw¡7Žƒâ’bz ì…rllËÁ …˜6ãDŠK -IÓþŒ@€Ò ;HëžÉšê5LÏ:6EÚeÄZˆ„»óýAM”ì ¢œ{ÊB8À D;í§&q#ï?ã²3xùÙV®øY/>ÙÊÌÛ3°b›¶b+xa‹Áµ“l-ÃÝØ­tÂȸÁ ä38ÆÚÒ™SÂþê7 ˆoj÷%›åŠ•¦¸V3 M`±o_©8÷ç³ü[4çg,ÝPÌåS‡“»v/÷“‰À4 Þûû[,xèf­ý'‹R ¥®‰µËWñäÜY,ý D'p$­ +na˜kßýG)ÿí¥üfÁ¾Ѱ·†Ç~{9uMµ¼üN¹ïóP¶æB%…:$=tè0½;hÌ"ÚÖNc´™Œ>=˜wËwyò¯\ÅTwÿ..)BÙ6ê8öŒ“ü±;–ͦ×u -ÂL9õx~óÃëBðÑêUìß¿_sÁ¥”Zö.’.¸ÖÄ B0 }”KlÌmÀQP_©Ã±Þj5Hdy«WÊ‚Ló >¶–™0$ÆÎ½AÆ Žé|BtzXµ¥8vHÜO˘ÆÌo÷W›­‰§>µV"o1ý¬Ÿ'<ë¯-®BJƒ™ÓG“·n·N’TfÀÀ¶lÜDM‰›)¤×Þÿ§]x³N<ŠÜµ€bÅËoê×ò2v“hölŠ@H·ré9¸ ûj¸ã¿_IÍù—i˜¬Ø%”æ{§öæo+ÝÄQÃÐ"ÓÀ±l~rÁ0þòV)e%º­}FŸžHÃà¾g^Ãq\{*¿þóû.Bl„iðèÜñÒ{ûAAQQNØ‹Æý5‰’J±é£Ï?º€æ–f’áòIFÎ2q-MÒÒ`ÃßÚèlß|£†$ê÷¬¶DưNJ‘(!‹8:ÃxC¹F¾W` - KÜûl-ÛmÓ/0È´Á45[cD6¶Ó#ø Ð9ˆ首ù¢ÁèšäÍ»ƒÜu;™yÜÑZ?pS¦,ÛæÃ½‹£‹æÜÀ]Ïý5µ ˆºÍöé¶îOÑÜA¸¾îw 6CëI9†ö‹7ÔUÁ^¥QÄÑÉ 5VR¿‚³îLp€³~ðm_˜yÏ9ëûç',‚¤íܹï1óœ‘,û°!`÷îZpóÇŒqw&kÞû[~•‹‚'œÍó¯nFH£ÍÕHCò«ŸžÍƒO®ÐŒ!`ºA'ƒgæÌ"oe){’Óh€¨Û”ªû ^ghÚWÃÔ'êlçÙÈÛ¶nÁ‹ž†N¿•æUÆÂB]¤.¸+ÎïÙgC{(Kgm, Ro+®»_+uÞÏ[np'ÓLÎ ,{(Îe÷ç=ãÚµ6-Û"”36@Τ Öö -=.¯Q„÷ª^Bˆrlľ½%þ[^ö´n‚X[XÑ é>òçÜÂâ5ÚjHòŠmÛ·‚•;ÊyjÎL–®Ò!%;wí@xø¦ Èû ”={vú "¥xvÎÕ,ù°8%áQÁÎÛhØ[À“ͦ%RÏož|¥M•uüáÁbÅ-–½S†cYí) ÒÔN 3̳ó®fñ -ÝÂUºÞ–-ë6д¿Æÿi3N`ƒ»Ò¥˜~ÆI)Aý +uÏ㇮¹™-[¶ê-mphþP×íw3µýa™pÈxÕ¸­õ!š£ÊwéÎ|0@,ËŸmõ‹C=Nb»©Û'Á}δÙäç¶úÄrƒÙ@ËQiH©«ƒ “Ķ·ûÙ@Q×ö·”Ö<è6ãVŒ;î¸ý¿½EÑZúõíÇϺˆJJHÏîF{] þ) =vÔp–¼½’]k·0ôè‘~3¯¶oÇÚ-´7´àX6ž=‰IÃ{’_Ú¨‰ªF'z~°¾€ºú:Êijã™y×±fÏ^Î:öh¶”Ö1ëÌQl)©ó½Š½ûô¥Åj'ÒÔÊ[+7³â£Ý´Õ7mi!x÷ƒœwöx¶5‚ôÈìACC=ñ–vÞúhƒGÓáf÷0Ó‚3iF ñ¹Ö€aƒiµ"ÄšÛ©(ÝÇ€áƒý‰ª(ÕæéÏ>ÒÒR­£ °Ê× ùt?ûI—ÀÎýnù}ˆãÎ5ºdÚÙq 6.h¥ÉÖÈö¼|¸÷˜®Žà%‹@Å á'Ÿz-_ÐRe!«-‚Ò0ú˜Dò#~i¹×ÂFsvGÎ<åfÇ9ÔîáŽæ@î¼;Èû|w‚¿;=¢_B!q3Xó·å“3L7…ªÜQŠ’¼÷‹}>8fÌXvíÞ4 æÜp‘Ÿ -ž÷¡^¡7ß¿§¾Š¼•Ez§OËñ9€0 zéËœ¿Í’UÅHCÒ\Ý@AÑ÷×òÒ»:ÛÇ jSpè°an×}†fŸ5Š%û“‹€Pf˜Ù gÉ[e~2J1zÔh -\1 o<±€>×›I¸+¾ç™·Ó¼ò1ÿ:/Ê&= \ uøüÙVßOà)v=Lh¶´þ Ü•n$ü Ê5ßPAH -lÇ!î(?O0® `€Ñ㈭Bû¬Dø‚¸ÒÏVè`âVÜ §ä/IfN?š;^xÉ· -ò>ßub¬yc•¿’VW¢€Ó/ú«^{7U”z£‚+g %oE±Öê¥ÁÃ×›¼• ëÀQ!ÉÖ—[î_ÄÓsôV0÷=û†¦6i¸¦£¾ßƒŒ^=H«É é@B -]Ðé&Ã!0´÷î¦{rÒy3°-Gû Üf¦åeàŠó³ôír - - :!?ZÛÚH2jü ÐÚõ®mÎç_ -›_oãïΑÆuÐÖ@3I…8.E¢Óˆ¶î hP^7P÷Û¿»öÀô!q¿~Pívª^â…Q -[Ù9€wËW—ªÇÆÉß–O]q%9ö¨+®dõëï%öp•;÷ò̼Ùä½_ÌÌ3G÷§h·ÛwG¿À§ oeR -ÆŒËÎ;è9¤/7ÿjQÂvQŠgæ]ÃÒÕ%\qÚp–|Xˆt—Çá—Ÿ;„eï”û›<A“¡Ã‡Í€º²ƒºàÒ‹¸¸3wïS¯1çæ iÖ³ä­2HZùÓÎ8ÉÇß|ÿZÿsSSS'¢(ª øòúŒ‹LºwÓ9{[ßmóëÿ¼Êo¯4Ë+!»|?î*Œ{ü!á·˜;éÇSj“w-±âÑxÇV†Á–?ü’©Cb>qH‘Xý^*X²jÛ¥è5B's:Ž"?³¿•L]I•íó`a’9Xë–‘ÝtÏbž™3 ÌѶÒÝ”ÉQÏÌ»€%«ŠÙ¹sÇ3–;wmi§ÉíTêYÊ^yå%êuWN”[bîиn1¶£È04ƒö|^ë— „âŠçŽÐíÛ¢Ž µìø¼<Èø[Äv-®®ÀÛª#ÐmããÄâ -‡€$0 Ÿâ±8íÑ6š[¨©®!øÏQ¨\þTb7,ÇQÔH ÝýÁ¼5‰âoG±…ó~æ_õÚ»ÄÚ"xNçæ]ƒ—Äqã=/0ÿw7ûQWœ<Œ%« -Ù±kG -1Ϲé"–­)EÅ-®8}J9Ü|ßB@1ÿw7·â!¹é¾’ í¡N9y:»vìÀ‰ZÓ œ¥ƒ0õeyfÞÕ,ù°$•+¸ï¶sÇvªwïK!€dä<óìS>Ò•Û™S9Š–K($Êïýc-Ë!aæTøöÈ8(ÁÖ½šÝOûÕ477cÅuë–¯Bq·+0 ¥%€EÌœ1’Ü•…¾öïÁÇo¬@9ŠcgœÈ¯¿{uÊ»,½io?ºþ¡iürÆ¥„dÀÿ×ø[É¡EƒD÷ÿõÙ²€ÜÕE(ËÆ0MlKç8{²þ™‡®á¥5¥(¥Xúq)Â4?~<ÂX– -–|Xˆ²-®<}¤^õ®9ïú‹È]]ÄÌSF¤Œ©¡´Šº¢J~wó÷ÈÌîNz·ÄÞÏÌ»!$Wž>¼k¥7~ùÅïý¦“ÉÚvcCƒ»õŠê°gHRã4wµÇí{÷‚1Ç5ÑÙ9ão}h¤+C9Ž»Â¥K ‡VB^§µŽÈ÷"¯Žr‰ «Eöí+UšBº^ݬz)‘ïä>0yOaÀW?xõMWH²ñì(ž™s-KW1ûŒ£ô*v54‰æsn¸Ð©1~òö*0óç^ïr|ñ$+OÉ/Ÿy•ºòƒ<ýà,r?(ÆhÏÊÎ;˜{óEä­*ÒD€V=ð«ó®LLœÛtÒqÓÉ”R,^¼ºúúÎïþܵlù  HsƒCeU®†åm†D’´´4ÒÃaÂia–mÅü8ƒ0¾„°}4ŒÁ Þ£Ø¶¶'ÓÚÖJcc Ä¢±”±›‡C>À/g\ŠW¦8oÕ‹þŽ¢ÔWrõ½O=´Ž»s§‡™z7ëwþ\NÕì^ËvŸ…w ú{Ÿ}±ÇŒí4–¬a}¨ß[Âú ®pu ;wîH9³dUqÊ÷dä{ì5ˆp‡-[6PW[×å<ùÛ¶¸AÕAÓ L¿ô&½CºRÒmŠõ7qptûY B}‘Éw(Hˆo,É·-y8äw„_θ”Ë]Å/<‚¨)<À³^Cî* òÉÛ+|iÊUX–|X„Hêþy$P_v¤`Ö©# r?*ÒŠ ¥AÞªÂäßûôk̽Y»¡—¬*æó®<äV°ÉDÐØØô…ÈW8¤û!¥+ÿÉQßú¡kŽtSCŸWŽÀ‘Û¶p7ZÓ;„ÒÜj£#Ç…?N™è”š Þx¿¿bÛÖõª[÷ž‡¿Èëˆâü;´µðöùç½cŽãðÆïæû)[É“é,‰e‡¬B.ûÓ=A·Îé4Ž+ÿ|õ{«yû QJ1gÅ‹)"Àvl۪Ǫà˜1ÇtZýsnº¡i'w[W ”âÝåo³~ÆÃ"ßñ -€ijm<  -¥låo gJ‚áp˜p8ìÎoÒÜ¡ðæS -o“ª€x˲ˆÅb´´¶ÒÒÜÒ¥øÿÊ'«:NbZIEND®B`‚ \ No newline at end of file diff --git a/docs/examples/web/models/models_ray_picking.js b/docs/examples/web/models/models_ray_picking.js deleted file mode 100644 index 9ffab7aa..00000000 --- a/docs/examples/web/models/models_ray_picking.js +++ /dev/null @@ -1,47583 +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 = 'models/models_ray_picking.data'; - var REMOTE_PACKAGE_BASE = 'models_ray_picking.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_models/models_ray_picking.data'); - - }; - Module['addRunDependency']('datafile_models/models_ray_picking.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": 11848, "filename": "/resources/tower.obj"}, {"audio": 0, "start": 11848, "crunched": 0, "end": 36787, "filename": "/resources/tower.png"}], "remote_package_size": 36787, "package_uuid": "23765f07-17ef-4904-ba6a-9197c49f6e99"}); - -})(); - -// 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 + 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 -- cgit v1.2.3 From 4b8a0268ede4bd56a7b06fd2e2ea056f933f0f10 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Mon, 17 Apr 2017 17:25:27 +0200 Subject: Added physac examples to web Some tweaks on original src files --- docs/examples/src/physac/physics_demo.c | 2 +- docs/examples/src/physac/physics_friction.c | 2 +- docs/examples/src/physac/physics_movement.c | 2 +- docs/examples/src/physac/physics_restitution.c | 2 +- docs/examples/src/physac/physics_shatter.c | 2 +- docs/examples/web/makefile | 10 +- docs/examples/web/physac/physics_demo.c | 187 +- docs/examples/web/physac/physics_demo.js | 29076 ++++++++++++--------- docs/examples/web/physac/physics_friction.c | 181 +- docs/examples/web/physac/physics_friction.js | 26930 ++++++++++++-------- docs/examples/web/physac/physics_movement.c | 168 +- docs/examples/web/physac/physics_movement.js | 26852 ++++++++++++-------- docs/examples/web/physac/physics_restitution.c | 174 +- docs/examples/web/physac/physics_restitution.js | 29121 +++++++++++++--------- docs/examples/web/physac/physics_shatter.c | 159 +- docs/examples/web/physac/physics_shatter.js | 26612 ++++++++++++-------- docs/examples/web/physac/pthread-main.js | 115 + examples/physac/physics_demo.c | 4 +- examples/physac/physics_friction.c | 3 +- examples/physac/physics_movement.c | 3 +- examples/physac/physics_restitution.c | 3 +- examples/physac/physics_shatter.c | 3 +- 22 files changed, 86514 insertions(+), 53097 deletions(-) create mode 100644 docs/examples/web/physac/pthread-main.js (limited to 'docs/examples') diff --git a/docs/examples/src/physac/physics_demo.c b/docs/examples/src/physac/physics_demo.c index 9bf04d50..55588363 100644 --- a/docs/examples/src/physac/physics_demo.c +++ b/docs/examples/src/physac/physics_demo.c @@ -119,7 +119,7 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics + ClosePhysics(); // Uninitialize physics CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- diff --git a/docs/examples/src/physac/physics_friction.c b/docs/examples/src/physac/physics_friction.c index 25f31d3f..6ce1d406 100644 --- a/docs/examples/src/physac/physics_friction.c +++ b/docs/examples/src/physac/physics_friction.c @@ -133,7 +133,7 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics + ClosePhysics(); // Uninitialize physics CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- diff --git a/docs/examples/src/physac/physics_movement.c b/docs/examples/src/physac/physics_movement.c index f81316ed..534997bf 100644 --- a/docs/examples/src/physac/physics_movement.c +++ b/docs/examples/src/physac/physics_movement.c @@ -119,7 +119,7 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics + ClosePhysics(); // Uninitialize physics CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- diff --git a/docs/examples/src/physac/physics_restitution.c b/docs/examples/src/physac/physics_restitution.c index d58ec6e3..0809697c 100644 --- a/docs/examples/src/physac/physics_restitution.c +++ b/docs/examples/src/physac/physics_restitution.c @@ -112,7 +112,7 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics + ClosePhysics(); // Uninitialize physics CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- diff --git a/docs/examples/src/physac/physics_shatter.c b/docs/examples/src/physac/physics_shatter.c index 4e3b0cb6..b237bfca 100644 --- a/docs/examples/src/physac/physics_shatter.c +++ b/docs/examples/src/physac/physics_shatter.c @@ -104,7 +104,7 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics + ClosePhysics(); // Uninitialize physics CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- diff --git a/docs/examples/web/makefile b/docs/examples/web/makefile index 8771555a..bdf32bee 100644 --- a/docs/examples/web/makefile +++ b/docs/examples/web/makefile @@ -577,23 +577,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) -static -lpthread -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) -s USE_PTHREADS=1 # 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) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) -s USE_PTHREADS=1 # 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) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) -s USE_PTHREADS=1 # 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) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) -s USE_PTHREADS=1 # 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) + $(CC) -o $@$(EXT) $< $(CFLAGS) $(INCLUDES) $(LFLAGS) $(LIBS) -static -lpthread -D$(PLATFORM) $(WINFLAGS) $(WEB_SHELL) -s USE_PTHREADS=1 # fix dylib install path name for each executable (MAC) fix_dylib: diff --git a/docs/examples/web/physac/physics_demo.c b/docs/examples/web/physac/physics_demo.c index b12ac708..0c17fc31 100644 --- a/docs/examples/web/physac/physics_demo.c +++ b/docs/examples/web/physac/physics_demo.c @@ -2,9 +2,11 @@ * * Physac - Physics demo * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* 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) +* +* Use the following line to compile: * -* Use the following code to compile (-static -lpthread): * 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 * @@ -15,111 +17,148 @@ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "../src/physac.h" +#include "physac.h" + +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +int screenWidth = 800; +int screenHeight = 450; + +// Physac logo drawing position +int logoX = 0; +int logoY = 15; + +PhysicsBody ground; +PhysicsBody circle; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- int main() { // Initialization //-------------------------------------------------------------------------------------- - int screenWidth = 800; - int screenHeight = 450; - SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Physics demo"); SetTargetFPS(60); - - // Physac logo drawing position - int logoX = screenWidth - MeasureText("Physac", 30) - 10; - int logoY = 15; + + logoX = screenWidth - MeasureText("Physac", 30) - 10; // Initialize physics and default physics bodies InitPhysics(); // Create floor rectangle physics body - PhysicsBody floor = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, 500, 100, 10); - floor->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) + ground = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, 500, 100, 10); + ground->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) // Create obstacle circle physics body - PhysicsBody circle = CreatePhysicsBodyCircle((Vector2){ screenWidth/2, screenHeight/2 }, 45, 10); + circle = CreatePhysicsBodyCircle((Vector2){ screenWidth/2, screenHeight/2 }, 45, 10); circle->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) - //-------------------------------------------------------------------------------------- +#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 { - // Update - //---------------------------------------------------------------------------------- - if (IsKeyPressed('R')) // Reset physics input - { - ResetPhysics(); + UpdateDrawFrame(); + } +#endif - floor = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, 500, 100, 10); - floor->enabled = false; + // De-Initialization + //-------------------------------------------------------------------------------------- + ClosePhysics(); // Uninitialize physics - circle = CreatePhysicsBodyCircle((Vector2){ screenWidth/2, screenHeight/2 }, 45, 10); - circle->enabled = false; - } + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- - // Physics body creation inputs - if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) CreatePhysicsBodyPolygon(GetMousePosition(), GetRandomValue(20, 80), GetRandomValue(3, 8), 10); - else if (IsMouseButtonPressed(MOUSE_RIGHT_BUTTON)) CreatePhysicsBodyCircle(GetMousePosition(), GetRandomValue(10, 45), 10); + return 0; +} - // Destroy falling physics bodies - int bodiesCount = GetPhysicsBodiesCount(); - for (int i = bodiesCount - 1; i >= 0; i--) - { - PhysicsBody body = GetPhysicsBody(i); - if (body != NULL && (body->position.y > screenHeight*2)) DestroyPhysicsBody(body); - } - //---------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + if (IsKeyPressed('R')) // Reset physics input + { + ResetPhysics(); - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); + ground = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, 500, 100, 10); + ground->enabled = false; - ClearBackground(BLACK); + circle = CreatePhysicsBodyCircle((Vector2){ screenWidth/2, screenHeight/2 }, 45, 10); + circle->enabled = false; + } - DrawFPS(screenWidth - 90, screenHeight - 30); + // Physics body creation inputs + if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) CreatePhysicsBodyPolygon(GetMousePosition(), GetRandomValue(20, 80), GetRandomValue(3, 8), 10); + else if (IsMouseButtonPressed(MOUSE_RIGHT_BUTTON)) CreatePhysicsBodyCircle(GetMousePosition(), GetRandomValue(10, 45), 10); - // Draw created physics bodies - bodiesCount = GetPhysicsBodiesCount(); - for (int i = 0; i < bodiesCount; i++) - { - PhysicsBody body = GetPhysicsBody(i); + // Destroy falling physics bodies + int bodiesCount = GetPhysicsBodiesCount(); + + for (int i = bodiesCount - 1; i >= 0; i--) + { + PhysicsBody body = GetPhysicsBody(i); + if (body != NULL && (body->position.y > screenHeight*2)) DestroyPhysicsBody(body); + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); - if (body != NULL) + ClearBackground(BLACK); + + DrawFPS(screenWidth - 90, screenHeight - 30); + + // Draw created physics bodies + bodiesCount = GetPhysicsBodiesCount(); + + for (int i = 0; i < bodiesCount; i++) + { + PhysicsBody body = GetPhysicsBody(i); + + if (body != NULL) + { + int vertexCount = GetPhysicsShapeVerticesCount(i); + for (int j = 0; j < vertexCount; j++) { - int vertexCount = GetPhysicsShapeVerticesCount(i); - for (int j = 0; j < vertexCount; j++) - { - // Get physics bodies shape vertices to draw lines - // Note: GetPhysicsShapeVertex() already calculates rotation transformations - Vector2 vertexA = GetPhysicsShapeVertex(body, j); - - int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape - Vector2 vertexB = GetPhysicsShapeVertex(body, jj); - - DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions - } + // Get physics bodies shape vertices to draw lines + // Note: GetPhysicsShapeVertex() already calculates rotation transformations + Vector2 vertexA = GetPhysicsShapeVertex(body, j); + + int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape + Vector2 vertexB = GetPhysicsShapeVertex(body, jj); + + DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions } } + } - DrawText("Left mouse button to create a polygon", 10, 10, 10, WHITE); - DrawText("Right mouse button to create a circle", 10, 25, 10, WHITE); - DrawText("Press 'R' to reset example", 10, 40, 10, WHITE); - - DrawText("Physac", logoX, logoY, 30, WHITE); - DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); + DrawText("Left mouse button to create a polygon", 10, 10, 10, WHITE); + DrawText("Right mouse button to create a circle", 10, 25, 10, WHITE); + DrawText("Press 'R' to reset example", 10, 40, 10, WHITE); - EndDrawing(); - //---------------------------------------------------------------------------------- - } + DrawText("Physac", logoX, logoY, 30, WHITE); + DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); - // De-Initialization - //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- - - return 0; + EndDrawing(); + //---------------------------------------------------------------------------------- } diff --git a/docs/examples/web/physac/physics_demo.js b/docs/examples/web/physac/physics_demo.js index 81550e5f..d543eca6 100644 --- a/docs/examples/web/physac/physics_demo.js +++ b/docs/examples/web/physac/physics_demo.js @@ -59,6 +59,11 @@ if (Module['ENVIRONMENT']) { ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; } +var ENVIRONMENT_IS_PTHREAD; +if (!ENVIRONMENT_IS_PTHREAD) ENVIRONMENT_IS_PTHREAD = false; // ENVIRONMENT_IS_PTHREAD=true will have been preset in pthread-main.js. Make it false in the main runtime thread. +var PthreadWorkerInit; // Collects together variables that are needed at initialization time for the web workers that host pthreads. +if (!ENVIRONMENT_IS_PTHREAD) PthreadWorkerInit = {}; +var currentScriptUrl = ENVIRONMENT_IS_WORKER ? undefined : document.currentScript.src; if (ENVIRONMENT_IS_NODE) { // Expose functionality in the same simple way that the shells work @@ -1178,9 +1183,14 @@ 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 +if (!ENVIRONMENT_IS_PTHREAD) { // Pthreads have already initialized these variables in src/pthread-main.js, where they were passed to the thread worker at startup time STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; staticSealed = false; +} +if (ENVIRONMENT_IS_PTHREAD) { + staticSealed = true; // The static memory area has been initialized already in the main thread, pthreads skip this. +} // Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. function writeStackCookie() { @@ -1207,7 +1217,7 @@ function abortOnCannotGrowMemory() { function enlargeMemory() { - abortOnCannotGrowMemory(); + abort('Cannot enlarge memory arrays, since compiling with pthreads support enabled (-s USE_PTHREADS=1).'); } @@ -1221,27 +1231,69 @@ assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' 'JS engine does not provide full typed array support'); - -// Use a provided buffer, if there is one, or else allocate a new one -if (Module['buffer']) { - buffer = Module['buffer']; - assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); +if (typeof SharedArrayBuffer !== 'undefined') { + if (!ENVIRONMENT_IS_PTHREAD) buffer = new SharedArrayBuffer(TOTAL_MEMORY); + // Currently SharedArrayBuffer does not have a slice() operation, so polyfill it in. + // Adapted from https://github.com/ttaubert/node-arraybuffer-slice, (c) 2014 Tim Taubert + // arraybuffer-slice may be freely distributed under the MIT license. + (function (undefined) { + "use strict"; + function clamp(val, length) { + val = (val|0) || 0; + if (val < 0) return Math.max(val + length, 0); + return Math.min(val, length); + } + if (typeof SharedArrayBuffer !== 'undefined' && !SharedArrayBuffer.prototype.slice) { + SharedArrayBuffer.prototype.slice = function (from, to) { + var length = this.byteLength; + var begin = clamp(from, length); + var end = length; + if (to !== undefined) end = clamp(to, length); + if (begin > end) return new ArrayBuffer(0); + var num = end - begin; + var target = new ArrayBuffer(num); + var targetArray = new Uint8Array(target); + var sourceArray = new Uint8Array(this, begin, num); + targetArray.set(sourceArray); + return target; + }; + } + })(); } else { - // Use a WebAssembly memory where available - { - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - assert(buffer.byteLength === TOTAL_MEMORY); + if (!ENVIRONMENT_IS_PTHREAD) buffer = new ArrayBuffer(TOTAL_MEMORY); } updateGlobalBufferViews(); +if (typeof Atomics === 'undefined') { + // Polyfill singlethreaded atomics ops from http://lars-t-hansen.github.io/ecmascript_sharedmem/shmem.html#Atomics.add + // No thread-safety needed since we don't have multithreading support. + Atomics = {}; + Atomics['add'] = function(t, i, v) { var w = t[i]; t[i] += v; return w; } + Atomics['and'] = function(t, i, v) { var w = t[i]; t[i] &= v; return w; } + Atomics['compareExchange'] = function(t, i, e, r) { var w = t[i]; if (w == e) t[i] = r; return w; } + Atomics['exchange'] = function(t, i, v) { var w = t[i]; t[i] = v; return w; } + Atomics['wait'] = function(t, i, v, o) { if (t[i] != v) return 'not-equal'; else return 'timed-out'; } + Atomics['wake'] = function(t, i, c) { return 0; } + Atomics['wakeOrRequeue'] = function(t, i1, c, i2, v) { return 0; } + Atomics['isLockFree'] = function(s) { return true; } + Atomics['load'] = function(t, i) { return t[i]; } + Atomics['or'] = function(t, i, v) { var w = t[i]; t[i] |= v; return w; } + Atomics['store'] = function(t, i, v) { t[i] = v; return v; } + Atomics['sub'] = function(t, i, v) { var w = t[i]; t[i] -= v; return w; } + Atomics['xor'] = function(t, i, v) { var w = t[i]; t[i] ^= v; return w; } +} + function getTotalMemory() { return TOTAL_MEMORY; } // Endianness check (note: assumes compiler arch was little-endian) +if (!ENVIRONMENT_IS_PTHREAD) { HEAP32[0] = 0x63736d65; /* 'emsc' */ +} else { + if (HEAP32[0] !== 0x63736d65) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; +} HEAP16[1] = 0x6373; if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; @@ -1285,8 +1337,10 @@ var __ATPOSTRUN__ = []; // functions called after the runtime has exited var runtimeInitialized = false; var runtimeExited = false; +if (ENVIRONMENT_IS_PTHREAD) runtimeInitialized = true; // The runtime is hosted in the main thread, and bits shared to pthreads via SharedArrayBuffer. No need to init again in pthread. function preRun() { + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. // compatibility - merge in anything from Module['preRun'] at this time if (Module['preRun']) { if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; @@ -1299,6 +1353,7 @@ function preRun() { function ensureInitRuntime() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. if (runtimeInitialized) return; runtimeInitialized = true; callRuntimeCallbacks(__ATINIT__); @@ -1306,17 +1361,20 @@ function ensureInitRuntime() { function preMain() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. callRuntimeCallbacks(__ATMAIN__); } function exitRuntime() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. callRuntimeCallbacks(__ATEXIT__); runtimeExited = true; } function postRun() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. // compatibility - merge in anything from Module['postRun'] at this time if (Module['postRun']) { if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; @@ -1435,6 +1493,18 @@ function reSign(value, bits, ignore) { return value; } +// Atomics.exchange is not yet implemented in the spec, so polyfill that in via compareExchange in the meanwhile. +// TODO: Keep an eye out for the opportunity to remove this once Atomics.exchange is available. +if (typeof Atomics !== 'undefined' && !Atomics['exchange']) { + Atomics['exchange'] = function(heap, index, val) { + var oldVal, oldVal2; + do { + oldVal = Atomics['load'](heap, index); + oldVal2 = Atomics['compareExchange'](heap, index, oldVal, val); + } while(oldVal != oldVal2); + return oldVal; + } +} // 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) { @@ -1504,6 +1574,9 @@ function getUniqueRunDependency(id) { } function addRunDependency(id) { + // We should never get here in pthreads (could no-op this out if called in pthreads, but that might indicate a bug in caller side, + // so good to be very explicit) + assert(!ENVIRONMENT_IS_PTHREAD); runDependencies++; if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); @@ -1572,52 +1645,43 @@ 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)]); } }]; +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }, + function() { postMessage({ cmd: 'processQueuedMainThreadWork' }) }]; function _emscripten_asm_const_iii(code, a0, a1) { return ASM_CONSTS[code](a0, a1); } +function _emscripten_asm_const_v(code) { + return ASM_CONSTS[code](); +} + STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 36064; - /* global initializers */ __ATINIT__.push(); +STATICTOP = STATIC_BASE + 38384; + /* global initializers */ if (!ENVIRONMENT_IS_PTHREAD) __ATINIT__.push({ func: function() { ___emscripten_pthread_data_constructor() } }); -/* 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); +if (!ENVIRONMENT_IS_PTHREAD) { +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,15,0,0,0,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,180,11,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,235,145,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,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,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,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], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([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,101,109,115,99,114,105,112,116,101,110,95,105,115,95,109,97,105,110,95,114,117,110,116,105,109,101,95,116,104,114,101,97,100,40,41,32,38,38,32,34,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,32,109,117,115,116,32,98,101,32,99,97,108,108,101,100,32,102,114,111,109,32,116,104,101,32,109,97,105,110,32,116,104,114,101,97,100,33,34,0,67,58,92,101,109,115,100,107,92,101,109,115,99,114,105,112,116,101,110,92,49,46,51,55,46,57,92,115,121,115,116,101,109,92,108,105,98,92,112,116,104,114,101,97,100,92,108,105,98,114,97,114,121,95,112,116,104,114,101,97,100,46,99,0,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,0,48,32,38,38,32,34,73,110,118,97,108,105,100,32,69,109,115,99,114,105,112,116,101,110,32,112,116,104,114,101,97,100,32,95,100,111,95,99,97,108,108,32,111,112,99,111,100,101,33,34,0,95,100,111,95,99,97,108,108,0,99,97,108,108,0,101,109,115,99,114,105,112,116,101,110,95,97,115,121,110,99,95,114,117,110,95,105,110,95,109,97,105,110,95,116,104,114,101,97,100,0,112,111,115,116,77,101,115,115,97,103,101,40,123,32,99,109,100,58,32,39,112,114,111,99,101,115,115,81,117,101,117,101,100,77,97,105,110,84,104,114,101,97,100,87,111,114,107,39,32,125,41,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +} /* no memory initializer */ -var tempDoublePtr = STATICTOP; STATICTOP += 16; +var tempDoublePtr; + +if (!ENVIRONMENT_IS_PTHREAD) tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); assert(tempDoublePtr % 8 == 0); @@ -1880,6 +1944,8 @@ function copyTempDouble(ptr) { function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + function ___pthread_setcancelstate() { return 0 } + function _emscripten_get_now() { abort() } @@ -3360,3466 +3426,7549 @@ function copyTempDouble(ptr) { } - 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; }); + 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--; + } } - },registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up--; up) { + parts.unshift('..'); + } } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); + 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 } - 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; + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; } - },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; + // 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; } - return true; + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); } - // 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; + 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; } } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); + 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) {} + } - 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; + 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); } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; + 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 + } + }; } - 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); + 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; } - },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--); - } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; } - },_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; + 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. } - - 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--); - } - } + 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. } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); + + 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; } - 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(); + // 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. } - }; - - 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 ); + node.usedBytes = newSize; + return; } - 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(); + // 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; + } } - }; - 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(); + // 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. + } } - }; - // 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(); + 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 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]; + 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); } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); + } catch (e) { + return callback(e); } - 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 (!req) { + return callback("Unable to connect to IndexedDB"); } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } + var fileStore; - 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; + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); } - 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(); + + if (!fileStore.indexNames.contains('timestamp')) { + fileStore.createIndex('timestamp', 'timestamp', { unique: false }); } }; + req.onsuccess = function() { + db = req.result; - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + // add to the cache + IDBFS.dbs[name] = db; + callback(null, db); }; - 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; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },getLocalSet:function (mount, callback) { + var entries = {}; - 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(); + function isRealDir(p) { + return p !== '.' && p !== '..'; + }; + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p); } }; - 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 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 }; } - 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; + return callback(null, { type: 'local', entries: entries }); + },getRemoteSet:function (mount, callback) { + var entries = {}; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); - if (shouldCancel) { + 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 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; + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index('timestamp'); - 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; + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; + if (!cursor) { + return callback(null, { type: 'remote', db: db, entries: entries }); + } - 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"]; + entries[cursor.primaryKey] = { timestamp: cursor.key }; - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } + cursor.continue(); + }; + }); + },loadLocalEntry:function (path, callback) { + var stat, node; - 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 ); + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path); + } catch (e) { + return callback(e); } - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + 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 { - target = JSEvents.findEventTarget(target); + 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')); + } - var handlerFunc = function(event) { - var e = event || window.event; + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp); + } catch (e) { + return callback(e); + } - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + callback(null); + },removeLocalEntry:function (path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); + if (FS.isDir(stat.mode)) { + FS.rmdir(path); + } else if (FS.isFile(stat.mode)) { + FS.unlink(path); } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; + } catch (e) { + return callback(e); } - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + 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(); }; - 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); - } + },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 handlerFunc = function(event) { - var e = event || window.event; + 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++; + } + }); - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + if (!total) { + return callback(null); + } - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); + 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); } }; - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + transaction.onerror = function(e) { + done(this.error); + e.preventDefault(); }; - 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; + // 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 { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; + IDBFS.loadLocalEntry(path, function (err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done); + }); } - } - - // 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; + // 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 { - return -3; + 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); } - - if (strategy.canvasResizedCallback) { - Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + 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 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 ); + return stat.mode; + },realPath:function (node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + 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 { - target = JSEvents.findEventTarget(target); + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } - - 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(); + },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]); + } + } } - }; - - 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(); + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } - }; - 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 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; } - 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 ); + function base(path) { + var parts = path.split('/'); + return parts[parts.length-1]; } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + // 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 { - target = JSEvents.findEventTarget(target); + 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 handlerFunc = function(event) { - var e = event || window.event; + var _stdin; if (ENVIRONMENT_IS_PTHREAD) _stdin = PthreadWorkerInit._stdin; else PthreadWorkerInit._stdin = _stdin = allocate(1, "i32*", ALLOC_STATIC); - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + var _stdout; if (ENVIRONMENT_IS_PTHREAD) _stdout = PthreadWorkerInit._stdout; else PthreadWorkerInit._stdout = _stdout = allocate(1, "i32*", ALLOC_STATIC); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; + var _stderr; if (ENVIRONMENT_IS_PTHREAD) _stderr = PthreadWorkerInit._stderr; else PthreadWorkerInit._stderr = _stderr = allocate(1, "i32*", ALLOC_STATIC);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 || {}; - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; + } } - target = JSEvents.findEventTarget(target); + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } - var handlerFunc = function(event) { - var e = event || window.event; + // split the path + var parts = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), false); - 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; + // 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; } - - 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; + + 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; } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; + } - if (++numTouches >= 32) { - break; + // 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); + } } } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + } - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); - if (shouldCancel) { - e.preventDefault(); + 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; - 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 < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; } - 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]; + 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; } } - 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; - } + },lookupNode:function (parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent); } - 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 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; + }; - var handlerFunc = function(event) { - var e = event || window.event; + 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); } + } + }); + } - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); - if (shouldCancel) { - e.preventDefault(); + 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); + } - 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; + return mounts; + },syncfs:function (populate, callback) { + if (typeof(populate) === 'function') { + callback = populate; + populate = false; + } - var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); + 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 (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; + if (++completed >= mounts.length) { + doCallback(null); } }; - 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 ); - } + // 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; - var handlerFunc = function(event) { - var e = event || window.event; + if (root && FS.root) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + mountpoint = lookup.path; // use the absolute path + node = lookup.node; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); - if (shouldCancel) { - e.preventDefault(); + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); } - }; - 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']; + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } } - var handlerFunc = function(event) { - var e = event || window.event; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] }; - 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; + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; - // 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; + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } - // 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; + return mountRoot; + },unmount:function (mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - 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); - } - + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } - var _emscripten_GetProcAddress=undefined; - Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); - 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; + 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); } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err); } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); } - - 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; + 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; } } - } - }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)]; + },mkdev:function (path, mode, dev) { + if (typeof(dev) === 'undefined') { + dev = mode; + mode = 438 /* 0666 */; } - } 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)]; + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:function (oldpath, newpath) { + if (!PATH.resolve(oldpath)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); } - } 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); + 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); } - }; - } - 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; + 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'); + } - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - return JSEvents.lastGamepadState.length; - } - - function _emscripten_glUniform4iv(location, count, value) { + // 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); - 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) { + FS.mount(MEMFS, {}, '/'); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); - 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)]; + 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); } - } 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; + },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 { - return -2; + ___setErrNo(ret.error); + return null; } - } - - 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) } + },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) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 54, 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_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); } - function _emscripten_glDeleteVertexArrays(n, vaos) { + function _glDeleteTextures(n, textures) { for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; + 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 _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_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); } - function _emscripten_glGetTexParameteriv(target, pname, params) { + 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; } - 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); + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); } - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); } - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); } - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - 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)]; + 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; }); } - } 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) } - - + },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']; - 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); - } - + 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; - 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; + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; } - } 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; + // 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; } } - } - }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() {} - + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); - - 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) { + 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); - 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)]; + 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; } - } 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]; + 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(); + } + }; - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; + 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(); + } + }; - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; + 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 (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 (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } - 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 + ')'; + 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; } - 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]); + 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(); } - 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 + ')'; + }; + + 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(); } - 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 + 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(); } - 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; + 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; - 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; + 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); } - 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; + 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 ); } - 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) } - + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(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["___uremdi3"] = ___uremdi3; - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - + var handlerFunc = function(event) { + var e = event || window.event; - 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']); - } + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - 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 shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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; + 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 ); + } - 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 (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } + var handlerFunc = function(event) { + var e = event || window.event; - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - 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); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); } - } - 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); + }; + + 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; } } - 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); + // 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. - 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) { + 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; } } - 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; + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); } - 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); - } - + 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 ); + } - 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) { + 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; - 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) { + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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 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 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. + var handlerFunc = function(event) { + var e = event || window.event; - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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); + 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 ); + } - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _pthread_create() { - return 11; - } - - function _emscripten_glDrawArrays(mode, first, count) { + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } - GLctx.drawArrays(mode, first, count); + var handlerFunc = function(event) { + var e = event || window.event; - } - - 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); + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - 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; + 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 ); } - 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; + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glVertexAttrib4fv(index, v) { + 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; - 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) { + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - var bufArray = GL.tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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); + 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; } - - 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; + function _utime(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(12, path, times); + // int utime(const char *path, const struct utimbuf *times); + // http://pubs.opengroup.org/onlinepubs/009695399/basedefs/utime.h.html + var time; + if (times) { + // NOTE: We don't keep track of access timestamps. + var offset = 4; + time = HEAP32[(((times)+(offset))>>2)]; + time *= 1000; } else { - if (length) HEAP32[((length)>>2)]=0; + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; } } - - Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); - return 0; + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); } - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); + + + + var PROCINFO={ppid:1,pid:42,sid:42,pgid:42}; + + + var __pthread_ptr=0; + + var __pthread_is_main_browser_thread=0;function __register_pthread_ptr(pthreadPtr, isMainBrowserThread, isMainRuntimeThread) { + pthreadPtr = pthreadPtr|0; + isMainBrowserThread = isMainBrowserThread|0; + isMainRuntimeThread = isMainRuntimeThread|0; + __pthread_ptr = pthreadPtr; + __pthread_is_main_browser_thread = isMainBrowserThread; + __pthread_is_main_runtime_thread = isMainRuntimeThread; } - - 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; + + var _emscripten_main_thread_process_queued_calls=undefined;var PThread={MAIN_THREAD_ID:1,mainThreadInfo:{schedPolicy:0,schedPrio:0},unusedWorkerPool:[],runningWorkers:[],initMainThreadBlock:function () { + if (ENVIRONMENT_IS_PTHREAD) return undefined; + PThread.mainThreadBlock = allocate(244, "i32*", ALLOC_STATIC); + __register_pthread_ptr(PThread.mainThreadBlock, /*isMainBrowserThread=*/!ENVIRONMENT_IS_WORKER, /*isMainRuntimeThread=*/1); // Pass the thread address inside the asm.js scope to store it for fast access that avoids the need for a FFI out. + + for (var i = 0; i < 244/4; ++i) HEAPU32[PThread.mainThreadBlock/4+i] = 0; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((PThread.mainThreadBlock)+(24))>>2)]=PThread.mainThreadBlock; + + // Allocate memory for thread-local storage. + var tlsMemory = allocate(128 * 4, "i32*", ALLOC_STATIC); + for (var i = 0; i < 128; ++i) HEAPU32[tlsMemory/4+i] = 0; + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 52 ) >> 2, PThread.mainThreadBlock); // Main thread ID. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 56 ) >> 2, PROCINFO.pid); // Process ID. + + },pthreads:{},pthreadIdCounter:2,exitHandlers:null,setThreadStatus:function () {},runExitHandlers:function () { + if (PThread.exitHandlers !== null) { + while (PThread.exitHandlers.length > 0) { + PThread.exitHandlers.pop()(); + } + PThread.exitHandlers = null; + } + + // Call into the musl function that runs destructors of all thread-specific data. + if (ENVIRONMENT_IS_PTHREAD && threadInfoStruct) ___pthread_tsd_run_dtors(); + },threadExit:function (exitCode) { + var tb = _pthread_self(); + if (tb) { // If we haven't yet exited? + Atomics.store(HEAPU32, (tb + 4 ) >> 2, exitCode); + // When we publish this, the main thread is free to deallocate the thread object and we are done. + // Therefore set threadInfoStruct = 0; above to 'release' the object in this worker thread. + Atomics.store(HEAPU32, (tb + 0 ) >> 2, 1); + + // Disable all cancellation so that executing the cleanup handlers won't trigger another JS + // canceled exception to be thrown. + Atomics.store(HEAPU32, (tb + 72 ) >> 2, 1/*PTHREAD_CANCEL_DISABLE*/); + Atomics.store(HEAPU32, (tb + 76 ) >> 2, 0/*PTHREAD_CANCEL_DEFERRED*/); + PThread.runExitHandlers(); + + _emscripten_futex_wake(tb + 0, 2147483647); + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + threadInfoStruct = 0; + if (ENVIRONMENT_IS_PTHREAD) { + // This worker no longer owns any WebGL OffscreenCanvases, so transfer them back to parent thread. + var transferList = []; + + + postMessage({ cmd: 'exit' }); + } + } + },threadCancel:function () { + PThread.runExitHandlers(); + Atomics.store(HEAPU32, (threadInfoStruct + 4 ) >> 2, -1/*PTHREAD_CANCELED*/); + Atomics.store(HEAPU32, (threadInfoStruct + 0 ) >> 2, 1); // Mark the thread as no longer running. + _emscripten_futex_wake(threadInfoStruct + 0, 2147483647); // wake all threads + threadInfoStruct = selfThreadId = 0; // Not hosting a pthread anymore in this worker, reset the info structures to null. + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + postMessage({ cmd: 'cancelDone' }); + },terminateAllThreads:function () { + for (var t in PThread.pthreads) { + var pthread = PThread.pthreads[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.pthreads = {}; + for (var t in PThread.unusedWorkerPool) { + var pthread = PThread.unusedWorkerPool[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.unusedWorkerPool = []; + for (var t in PThread.runningWorkers) { + var pthread = PThread.runningWorkers[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.runningWorkers = []; + },freeThreadData:function (pthread) { + if (!pthread) return; + if (pthread.threadInfoStruct) { + var tlsMemory = HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]; + HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]=0; + _free(pthread.tlsMemory); + _free(pthread.threadInfoStruct); + } + pthread.threadInfoStruct = 0; + if (pthread.allocatedOwnStack && pthread.stackBase) _free(pthread.stackBase); + pthread.stackBase = 0; + if (pthread.worker) pthread.worker.pthread = null; + },receiveObjectTransfer:function (data) { + },allocateUnusedWorkers:function (numWorkers, onFinishedLoading) { + if (typeof SharedArrayBuffer === 'undefined') return; // No multithreading support, no-op. + Module['print']('Preallocating ' + numWorkers + ' workers for a pthread spawn pool.'); + + var numWorkersLoaded = 0; + for (var i = 0; i < numWorkers; ++i) { + var pthreadMainJs = 'pthread-main.js'; + // Allow HTML module to configure the location where the 'pthread-main.js' file will be loaded from, + // either via Module.locateFile() function, or via Module.pthreadMainPrefixURL string. If neither + // of these are passed, then the default URL 'pthread-main.js' relative to the main html file is loaded. + if (typeof Module['locateFile'] === 'function') pthreadMainJs = Module['locateFile'](pthreadMainJs); + else if (Module['pthreadMainPrefixURL']) pthreadMainJs = Module['pthreadMainPrefixURL'] + pthreadMainJs; + var worker = new Worker(pthreadMainJs); + + worker.onmessage = function(e) { + // If this message is intended to a recipient that is not the main thread, forward it to the target thread. + if (e.data.targetThread && e.data.targetThread != _pthread_self()) { + var thread = PThread.pthreads[e.data.targetThread]; + if (thread) { + thread.worker.postMessage(e.data, e.data.transferList); + } else { + console.error('Internal error! Worker sent a message "' + e.data.cmd + '" to target pthread ' + e.data.targetThread + ', but that thread no longer exists!'); + } + return; + } + + if (e.data.cmd === 'processQueuedMainThreadWork') { + // TODO: Must post message to main Emscripten thread in PROXY_TO_WORKER mode. + _emscripten_main_thread_process_queued_calls(); + } else if (e.data.cmd === 'spawnThread') { + __spawn_thread(e.data); + } else if (e.data.cmd === 'cleanupThread') { + __cleanup_thread(e.data.thread); + } else if (e.data.cmd === 'killThread') { + __kill_thread(e.data.thread); + } else if (e.data.cmd === 'cancelThread') { + __cancel_thread(e.data.thread); + } else if (e.data.cmd === 'loaded') { + ++numWorkersLoaded; + if (numWorkersLoaded === numWorkers && onFinishedLoading) { + onFinishedLoading(); + } + } else if (e.data.cmd === 'print') { + Module['print']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'printErr') { + Module['printErr']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'alert') { + alert('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'exit') { + // currently no-op + } else if (e.data.cmd === 'cancelDone') { + PThread.freeThreadData(worker.pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + // TODO: Free if detached. + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } else if (e.data.cmd === 'objectTransfer') { + PThread.receiveObjectTransfer(e.data); + } else { + Module['printErr']("worker sent an unknown command " + e.data.cmd); + } + }; + + worker.onerror = function(e) { + Module['printErr']('pthread sent an error! ' + e.filename + ':' + e.lineno + ': ' + e.message); + }; + + // Allocate tempDoublePtr for the worker. This is done here on the worker's behalf, since we may need to do this statically + // if the runtime has not been loaded yet, etc. - so we just use getMemory, which is main-thread only. + var tempDoublePtr = getMemory(8); // TODO: leaks. Cleanup after worker terminates. + + // Ask the new worker to load up the Emscripten-compiled page. This is a heavy operation. + worker.postMessage({ + cmd: 'load', + url: currentScriptUrl, + buffer: HEAPU8.buffer, + tempDoublePtr: tempDoublePtr, + TOTAL_MEMORY: TOTAL_MEMORY, + STATICTOP: STATICTOP, + DYNAMIC_BASE: DYNAMIC_BASE, + DYNAMICTOP_PTR: DYNAMICTOP_PTR, + PthreadWorkerInit: PthreadWorkerInit + }); + PThread.unusedWorkerPool.push(worker); + } + },getNewWorker:function () { + if (PThread.unusedWorkerPool.length == 0) PThread.allocateUnusedWorkers(1); + if (PThread.unusedWorkerPool.length > 0) return PThread.unusedWorkerPool.pop(); + else return null; + },busySpinWait:function (msecs) { + var t = performance.now() + msecs; + while(performance.now() < t) { + ; + } + }};var __pthread_is_main_runtime_thread=0;function _emscripten_is_main_runtime_thread() { + return __pthread_is_main_runtime_thread|0; // Semantically the same as testing "!ENVIRONMENT_IS_PTHREAD" outside the asm.js scope } - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); + 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 _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 _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); } - 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_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); } - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); 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 _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); } - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); + 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 _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } + function _glDisable(x0) { GLctx['disable'](x0) } - 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_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); } - 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); - } - } + + Module["_memset"] = _memset; - 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 _atexit(func, arg) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(110, func, arg); + __ATEXIT__.unshift({ func: func, arg: arg }); } - 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 _glfwMakeContextCurrent(winid) {} - 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 _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; } - function ___unlock() {} + function ___lock() {} - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + function _glCullFace(x0) { GLctx['cullFace'](x0) } - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); + 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_glFlush() { GLctx['flush']() } + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } - function _glUniformMatrix4fv(location, count, transpose, value) { + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; - 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)]; + 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; } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + // 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 _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); } - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glFrontFace(x0) { GLctx['frontFace'](x0) } + 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 _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); } - 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 _glfwGetPrimaryMonitor() { + return 1; } - 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; + 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; + } } - var id = GL.getNewId(GL.vaos); - vao.name = id; - GL.vaos[id] = vao; - HEAP32[(((arrays)+(i*4))>>2)]=id; } + }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 _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; + 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; } - return ret; + GLctx.deleteShader(shader); + GL.shaders[id] = null; } - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); + 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_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); } -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); + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } -STACK_MAX = STACK_BASE + TOTAL_STACK; + 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; + } -DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); + 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); + } -HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; + function ___syscall6(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 6, 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; + } + } -staticSealed = true; // seal the static portion of memory + 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; + } -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); + 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 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 _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } -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 _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } -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 ___syscall140(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 140, 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 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 ___syscall146(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 146, 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 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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } -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 _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } -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 _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } -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) } + + var _tzname; if (ENVIRONMENT_IS_PTHREAD) _tzname = PthreadWorkerInit._tzname; else PthreadWorkerInit._tzname = _tzname = allocate(8, "i32*", ALLOC_STATIC); + + var _daylight; if (ENVIRONMENT_IS_PTHREAD) _daylight = PthreadWorkerInit._daylight; else PthreadWorkerInit._daylight = _daylight = allocate(1, "i32*", ALLOC_STATIC); + + var _timezone; if (ENVIRONMENT_IS_PTHREAD) _timezone = PthreadWorkerInit._timezone; else PthreadWorkerInit._timezone = _timezone = allocate(1, "i32*", ALLOC_STATIC);function _tzset() { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_0(119); + // TODO: Use (malleable) environment variables instead of system settings. + if (_tzset.called) return; + _tzset.called = true; + + HEAP32[((_timezone)>>2)]=-(new Date()).getTimezoneOffset() * 60; + + var winter = new Date(2000, 0, 1); + var summer = new Date(2000, 6, 1); + HEAP32[((_daylight)>>2)]=Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + }; + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), 'i8', ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), 'i8', ALLOC_NORMAL); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + // Northern hemisphere + HEAP32[((_tzname)>>2)]=winterNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=summerNamePtr; + } else { + HEAP32[((_tzname)>>2)]=summerNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=winterNamePtr; + } + } -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) } + + Module["_i64Subtract"] = _i64Subtract; -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) } + + Module["_i64Add"] = _i64Add; -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 _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } -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 _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } -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 _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } -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 _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } -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 _emscripten_glFinish() { GLctx['finish']() } -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 _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } -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 _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } -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 _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 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 _sysconf(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(72, name); + // long sysconf(int name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html + switch(name) { + case 30: return PAGE_SIZE; + case 85: + var maxHeapSize = 2*1024*1024*1024 - 16777216; + maxHeapSize = HEAPU8.length; + return maxHeapSize / PAGE_SIZE; + case 132: + case 133: + case 12: + case 137: + case 138: + case 15: + case 235: + case 16: + case 17: + case 18: + case 19: + case 20: + case 149: + case 13: + case 10: + case 236: + case 153: + case 9: + case 21: + case 22: + case 159: + case 154: + case 14: + case 77: + case 78: + case 139: + case 80: + case 81: + case 82: + case 68: + case 67: + case 164: + case 11: + case 29: + case 47: + case 48: + case 95: + case 52: + case 51: + case 46: + return 200809; + case 79: + return 0; + case 27: + case 246: + case 127: + case 128: + case 23: + case 24: + case 160: + case 161: + case 181: + case 182: + case 242: + case 183: + case 184: + case 243: + case 244: + case 245: + case 165: + case 178: + case 179: + case 49: + case 50: + case 168: + case 169: + case 175: + case 170: + case 171: + case 172: + case 97: + case 76: + case 32: + case 173: + case 35: + return -1; + case 176: + case 177: + case 7: + case 155: + case 8: + case 157: + case 125: + case 126: + case 92: + case 93: + case 129: + case 130: + case 131: + case 94: + case 91: + return 1; + case 74: + case 60: + case 69: + case 70: + case 4: + return 1024; + case 31: + case 42: + case 72: + return 32; + case 87: + case 26: + case 33: + return 2147483647; + case 34: + case 1: + return 47839; + case 38: + case 36: + return 99; + case 43: + case 37: + return 2048; + case 0: return 2097152; + case 3: return 65536; + case 28: return 32768; + case 44: return 32767; + case 75: return 16384; + case 39: return 1000; + case 89: return 700; + case 71: return 256; + case 40: return 255; + case 2: return 100; + case 180: return 64; + case 25: return 20; + case 5: return 16; + case 6: return 6; + case 73: return 4; + case 84: { + if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; + return 1; + } + } + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } -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 _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } -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 _glClear(x0) { GLctx['clear'](x0) } -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 _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 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 _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 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 _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } -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 _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } -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 _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } -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 _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } -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 _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 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 _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } -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 _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } -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 _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } -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 _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[((ptr)>>2)]=(now/1000)|0; // seconds + HEAP32[(((ptr)+(4))>>2)]=((now % 1000)*1000)|0; // microseconds + return 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 _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } -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 _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } -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 _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 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 _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 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 _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 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 _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } -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 _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} + + + + + var _environ; if (ENVIRONMENT_IS_PTHREAD) _environ = PthreadWorkerInit._environ; else PthreadWorkerInit._environ = _environ = allocate(1, "i32*", ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env) { + // WARNING: Arbitrary limit! + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + + // Statically allocate memory for the environment. + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + // Set default values. Use string keys for Closure Compiler compatibility. + ENV['USER'] = ENV['LOGNAME'] = 'web_user'; + ENV['PATH'] = '/'; + ENV['PWD'] = '/'; + ENV['HOME'] = '/home/web_user'; + ENV['LANG'] = 'C'; + ENV['_'] = Module['thisProgram']; + // Allocate memory. + poolPtr = allocate(TOTAL_ENV_SIZE, 'i8', ALLOC_STATIC); + envPtr = allocate(MAX_ENV_VALUES * 4, + 'i8*', ALLOC_STATIC); + HEAP32[((envPtr)>>2)]=poolPtr; + HEAP32[((_environ)>>2)]=envPtr; + } else { + envPtr = HEAP32[((_environ)>>2)]; + poolPtr = HEAP32[((envPtr)>>2)]; + } + + // Collect key=value lines. + var strings = []; + var totalSize = 0; + for (var key in env) { + if (typeof env[key] === 'string') { + var line = key + '=' + env[key]; + strings.push(line); + totalSize += line.length; + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error('Environment size exceeded TOTAL_ENV_SIZE!'); + } + + // Make new. + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[(((envPtr)+(i * ptrSize))>>2)]=poolPtr; + poolPtr += line.length + 1; + } + HEAP32[(((envPtr)+(strings.length * ptrSize))>>2)]=0; + }var ENV={};function _clearenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(112, name); + // int clearenv (void); + // http://www.gnu.org/s/hello/manual/libc/Environment-Access.html#index-clearenv-3107 + ENV = {}; + ___buildEnvironment(ENV); + return 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 _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } -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 _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } -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 _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } -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 _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } -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); - } -} + 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); + } -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; + 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); + } -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'; + 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) { - 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); + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + var _emscripten_asm_const=true; - 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; + function _chroot(path) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(37, path); + // int chroot(const char *path); + // http://pubs.opengroup.org/onlinepubs/7908799/xsh/chroot.html + ___setErrNo(ERRNO_CODES.EACCES); + return -1; + } - 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; + function _glEnable(x0) { GLctx['enable'](x0) } - 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; + + + 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 _unsetenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(114, name); + // int unsetenv(const char *name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/unsetenv.html + if (name === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + name = Pointer_stringify(name); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name)) { + delete ENV[name]; + ___buildEnvironment(ENV); + } + return 0; + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + + + 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']); + }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 ___clock_gettime() { + return _clock_gettime.apply(null, arguments) + } + + 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_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + + function __cleanup_thread(pthread_ptr) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _cleanup_thread() can only ever be called from main application thread!'; + if (!pthread_ptr) throw 'Internal Error! Null pthread_ptr in _cleanup_thread!'; + HEAP32[(((pthread_ptr)+(24))>>2)]=0; + var pthread = PThread.pthreads[pthread_ptr]; + var worker = pthread.worker; + PThread.freeThreadData(pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } + + function __pthread_testcancel_js() { + if (!ENVIRONMENT_IS_PTHREAD) return; + if (!threadInfoStruct) return; + var cancelDisabled = Atomics.load(HEAPU32, (threadInfoStruct + 72 ) >> 2); + if (cancelDisabled) return; + var canceled = Atomics.load(HEAPU32, (threadInfoStruct + 0 ) >> 2); + if (canceled == 2) throw 'Canceled!'; + }function _pthread_join(thread, status) { + if (!thread) { + Module['printErr']('pthread_join attempted on a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + if (ENVIRONMENT_IS_PTHREAD && selfThreadId == thread) { + Module['printErr']('PThread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + else if (!ENVIRONMENT_IS_PTHREAD && PThread.mainThreadBlock == thread) { + Module['printErr']('Main thread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_join attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var detached = Atomics.load(HEAPU32, (thread + 80 ) >> 2); + if (detached) { + Module['printErr']('Attempted to join thread ' + thread + ', which was already detached!'); + return ERRNO_CODES.EINVAL; // The thread is already detached, can no longer join it! + } + for (;;) { + var threadStatus = Atomics.load(HEAPU32, (thread + 0 ) >> 2); + if (threadStatus == 1) { // Exited? + var threadExitCode = Atomics.load(HEAPU32, (thread + 4 ) >> 2); + if (status) HEAP32[((status)>>2)]=threadExitCode; + Atomics.store(HEAPU32, (thread + 80 ) >> 2, 1); // Mark the thread as detached. + + if (!ENVIRONMENT_IS_PTHREAD) __cleanup_thread(thread); + else postMessage({ cmd: 'cleanupThread', thread: thread}); + return 0; + } + // TODO HACK! Replace the _js variant with just _pthread_testcancel: + //_pthread_testcancel(); + __pthread_testcancel_js(); + // In main runtime thread (the thread that initialized the Emscripten C runtime and launched main()), assist pthreads in performing operations + // that they need to access the Emscripten main runtime for. + if (!ENVIRONMENT_IS_PTHREAD) _emscripten_main_thread_process_queued_calls(); + _emscripten_futex_wait(thread + 0, threadStatus, ENVIRONMENT_IS_PTHREAD ? 100 : 1); + } + } + + + + 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 __main_thread_futex_wait_address; if (ENVIRONMENT_IS_PTHREAD) __main_thread_futex_wait_address = PthreadWorkerInit.__main_thread_futex_wait_address; else PthreadWorkerInit.__main_thread_futex_wait_address = __main_thread_futex_wait_address = allocate(1, "i32*", ALLOC_STATIC);function _emscripten_futex_wait(addr, val, timeout) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0) return -22; + // dump('futex_wait addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ENVIRONMENT_IS_WORKER) { + var ret = Atomics.wait(HEAP32, addr >> 2, val, timeout); + // dump('futex_wait done by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ret === 'timed-out') return -110; + if (ret === 'not-equal') return -11; + if (ret === 'ok') return 0; + throw 'Atomics.wait returned an unexpected value ' + ret; + } else { + // Atomics.wait is not available in the main browser thread, so simulate it via busy spinning. + var loadedVal = Atomics.load(HEAP32, addr >> 2); + if (val != loadedVal) return -11; + + var tNow = performance.now(); + var tEnd = tNow + timeout; + + + // Register globally which address the main thread is simulating to be waiting on. When zero, main thread is not waiting on anything, + // and on nonzero, the contents of address pointed by __main_thread_futex_wait_address tell which address the main thread is simulating its wait on. + Atomics.store(HEAP32, __main_thread_futex_wait_address >> 2, addr); + var ourWaitAddress = addr; // We may recursively re-enter this function while processing queued calls, in which case we'll do a spurious wakeup of the older wait operation. + while (addr == ourWaitAddress) { + tNow = performance.now(); + if (tNow > tEnd) { + return -110; + } + _emscripten_main_thread_process_queued_calls(); // We are performing a blocking loop here, so must pump any pthreads if they want to perform operations that are proxied. + addr = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); // Look for a worker thread waking us up. + } + return 0; + } + } + + 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; + } + + + + var cttz_i8; if (ENVIRONMENT_IS_PTHREAD) cttz_i8 = PthreadWorkerInit.cttz_i8; else PthreadWorkerInit.cttz_i8 = 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 _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 _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + 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_futex_wake(addr, count) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0 || count < 0) return -22; + if (count == 0) return 0; + // dump('futex_wake addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + + // See if main thread is waiting on this address? If so, wake it up by resetting its wake location to zero. + // Note that this is not a fair procedure, since we always wake main thread first before any workers, so + // this scheme does not adhere to real queue-based waiting. + var mainThreadWaitAddress = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); + var mainThreadWoken = 0; + if (mainThreadWaitAddress == addr) { + var loadedAddr = Atomics.compareExchange(HEAP32, __main_thread_futex_wait_address >> 2, mainThreadWaitAddress, 0); + if (loadedAddr == mainThreadWaitAddress) { + --count; + mainThreadWoken = 1; + if (count <= 0) return 1; + } + } + + // Wake any workers waiting on this address. + var ret = Atomics.wake(HEAP32, addr >> 2, count); + if (ret >= 0) return ret + mainThreadWoken; + throw 'Atomics.wake returned an unexpected value ' + ret; + } + + 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_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 __spawn_thread(threadParams) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _spawn_thread() can only ever be called from main application thread!'; + + var worker = PThread.getNewWorker(); + if (worker.pthread !== undefined) throw 'Internal error!'; + if (!threadParams.pthread_ptr) throw 'Internal error, no pthread ptr!'; + PThread.runningWorkers.push(worker); + + // Allocate memory for thread-local storage and initialize it to zero. + var tlsMemory = _malloc(128 * 4); + for (var i = 0; i < 128; ++i) { + HEAP32[(((tlsMemory)+(i*4))>>2)]=0; + } + + var pthread = PThread.pthreads[threadParams.pthread_ptr] = { // Create a pthread info object to represent this thread. + worker: worker, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + allocatedOwnStack: threadParams.allocatedOwnStack, + thread: threadParams.pthread_ptr, + threadInfoStruct: threadParams.pthread_ptr // Info area for this thread in Emscripten HEAP (shared) + }; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 0 ) >> 2, 0); // threadStatus <- 0, meaning not yet exited. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 4 ) >> 2, 0); // threadExitCode <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 20 ) >> 2, 0); // profilerBlock <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 80 ) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 60 ) >> 2, 0); // Mark initial status to unused. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 52 ) >> 2, pthread.threadInfoStruct); // Main thread ID. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 56 ) >> 2, PROCINFO.pid); // Process ID. + + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 96) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 92) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 8) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 12) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 20) >> 2, threadParams.schedPolicy); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 24) >> 2, threadParams.schedPrio); + + var global_libc = _emscripten_get_global_libc(); + var global_locale = global_libc + 40; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 188) >> 2, global_locale); + + + worker.pthread = pthread; + + // Ask the worker to start executing its pthread entry point function. + worker.postMessage({ + cmd: 'run', + start_routine: threadParams.startRoutine, + arg: threadParams.arg, + threadInfoStruct: threadParams.pthread_ptr, + selfThreadId: threadParams.pthread_ptr, // TODO: Remove this since thread ID is now the same as the thread address. + parentThreadId: threadParams.parent_pthread_ptr, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + }, threadParams.transferList); + } + + function _pthread_getschedparam(thread, policy, schedparam) { + if (!policy && !schedparam) return ERRNO_CODES.EINVAL; + + if (!thread) { + Module['printErr']('pthread_getschedparam called with a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_getschedparam attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var schedPolicy = Atomics.load(HEAPU32, (thread + 120 + 20 ) >> 2); + var schedPrio = Atomics.load(HEAPU32, (thread + 120 + 24 ) >> 2); + + if (policy) HEAP32[((policy)>>2)]=schedPolicy; + if (schedparam) HEAP32[((schedparam)>>2)]=schedPrio; + return 0; + } + + function _pthread_self() { + return __pthread_ptr|0; + }function _pthread_create(pthread_ptr, attr, start_routine, arg) { + if (typeof SharedArrayBuffer === 'undefined') { + Module['printErr']('Current environment does not support SharedArrayBuffer, pthreads are not available!'); + return 11; + } + if (!pthread_ptr) { + Module['printErr']('pthread_create called with a null thread pointer!'); + return 22; + } + + var transferList = []; // List of JS objects that will transfer ownership to the Worker hosting the thread + + + // Synchronously proxy the thread creation to main thread if possible. If we need to transfer ownership of objects, then + // proxy asynchronously via postMessage. + if (ENVIRONMENT_IS_PTHREAD && transferList.length == 0) { + return _emscripten_sync_run_in_main_thread_4(137, pthread_ptr, attr, start_routine, arg); + } + + var stackSize = 0; + var stackBase = 0; + var detached = 0; // Default thread attr is PTHREAD_CREATE_JOINABLE, i.e. start as not detached. + var schedPolicy = 0; /*SCHED_OTHER*/ + var schedPrio = 0; + if (attr) { + stackSize = HEAP32[((attr)>>2)]; + stackBase = HEAP32[(((attr)+(8))>>2)]; + detached = HEAP32[(((attr)+(12))>>2)] != 0/*PTHREAD_CREATE_JOINABLE*/; + var inheritSched = HEAP32[(((attr)+(16))>>2)] == 0/*PTHREAD_INHERIT_SCHED*/; + if (inheritSched) { + var prevSchedPolicy = HEAP32[(((attr)+(20))>>2)]; + var prevSchedPrio = HEAP32[(((attr)+(24))>>2)]; + _pthread_getschedparam(_pthread_self(), attr + 20, attr + 24); + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + HEAP32[(((attr)+(20))>>2)]=prevSchedPolicy; + HEAP32[(((attr)+(24))>>2)]=prevSchedPrio; + } else { + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + } + } + stackSize += 81920 /*DEFAULT_STACK_SIZE*/; + var allocatedOwnStack = stackBase == 0; // If allocatedOwnStack == true, then the pthread impl maintains the stack allocation. + if (allocatedOwnStack) { + stackBase = _malloc(stackSize); // Allocate a stack if the user doesn't want to place the stack in a custom memory area. + } else { + // Musl stores the stack base address assuming stack grows downwards, so adjust it to Emscripten convention that the + // stack grows upwards instead. + stackBase -= stackSize; + assert(stackBase > 0); + } + + // Allocate thread block (pthread_t structure). + var threadInfoStruct = _malloc(244); + for (var i = 0; i < 244 >> 2; ++i) HEAPU32[(threadInfoStruct>>2) + i] = 0; // zero-initialize thread structure. + HEAP32[((pthread_ptr)>>2)]=threadInfoStruct; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((threadInfoStruct)+(24))>>2)]=threadInfoStruct; + + // pthread struct robust_list head should point to itself. + var headPtr = threadInfoStruct + 168; + HEAP32[((headPtr)>>2)]=headPtr; + + var threadParams = { + stackBase: stackBase, + stackSize: stackSize, + allocatedOwnStack: allocatedOwnStack, + schedPolicy: schedPolicy, + schedPrio: schedPrio, + detached: detached, + startRoutine: start_routine, + pthread_ptr: threadInfoStruct, + parent_pthread_ptr: _pthread_self(), + arg: arg, + transferList: transferList + }; + + if (ENVIRONMENT_IS_PTHREAD) { + // The prepopulated pool of web workers that can host pthreads is stored in the main JS thread. Therefore if a + // pthread is attempting to spawn a new thread, the thread creation must be deferred to the main JS thread. + threadParams.cmd = 'spawnThread'; + postMessage(threadParams, transferList); + } else { + // We are the main thread, so we have the pthread warmup pool in this thread and can fire off JS thread creation + // directly ourselves. + __spawn_thread(threadParams); + } + + return 0; + } + + 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_set_current_thread_status_js(newStatus) { + } + Module["_emscripten_set_current_thread_status"] = _emscripten_set_current_thread_status; + + 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 _confstr(name, buf, len) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(68, name, buf, len); + // size_t confstr(int name, char *buf, size_t len); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/confstr.html + var value; + switch (name) { + case 0: + value = ENV['PATH'] || '/'; + break; + case 1: + // Mimicking glibc. + value = 'POSIX_V6_ILP32_OFF32\nPOSIX_V6_ILP32_OFFBIG'; + break; + case 2: + // This JS implementation was tested against this glibc version. + value = 'glibc 2.14'; + break; + case 3: + // We don't support pthreads. + value = ''; + break; + case 1118: + case 1122: + case 1124: + case 1125: + case 1126: + case 1128: + case 1129: + case 1130: + value = ''; + break; + case 1116: + case 1117: + case 1121: + value = '-m32'; + break; + case 1120: + value = '-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'; + break; + default: + ___setErrNo(ERRNO_CODES.EINVAL); + return 0; + } + if (len == 0 || buf == 0) { + return value.length + 1; + } else { + var length = Math.min(len, value.length); + for (var i = 0; i < length; i++) { + HEAP8[(((buf)+(i))>>0)]=value.charCodeAt(i); + } + if (len > length) HEAP8[(((buf)+(i++))>>0)]=0; + return i; + } + } + + 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 _getenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(111, name); + // char *getenv(const char *name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/getenv.html + if (name === 0) return 0; + name = Pointer_stringify(name); + if (!ENV.hasOwnProperty(name)) return 0; + + if (_getenv.ret) _free(_getenv.ret); + _getenv.ret = allocate(intArrayFromString(ENV[name]), 'i8', ALLOC_NORMAL); + return _getenv.ret; + } + + + function _emscripten_conditional_set_current_thread_status_js(expectedStatus, newStatus) { + } + Module["_emscripten_conditional_set_current_thread_status"] = _emscripten_conditional_set_current_thread_status; + + 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 _setenv(envname, envval, overwrite) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(113, envname, envval, overwrite); + // int setenv(const char *envname, const char *envval, int overwrite); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/setenv.html + if (envname === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = Pointer_stringify(envname); + var val = Pointer_stringify(envval); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name) && !overwrite) return 0; + ENV[name] = val; + ___buildEnvironment(ENV); + return 0; + } + + 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_syscall(which, varargs) { + switch (which) { + case 54: return ___syscall54(which, varargs); + case 6: return ___syscall6(which, varargs); + case 140: return ___syscall140(which, varargs); + case 146: return ___syscall146(which, varargs); + default: throw "surprising proxied syscall: " + which; + } + } + + 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 _fpathconf(fildes, name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(46, fildes, name); + // long fpathconf(int fildes, int name); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/encrypt.html + // NOTE: The first parameter is ignored, so pathconf == fpathconf. + // The constants here aren't real values. Just mimicking glibc. + switch (name) { + case 0: + return 32000; + case 1: + case 2: + case 3: + return 255; + case 4: + case 5: + case 16: + case 17: + case 18: + return 4096; + case 6: + case 7: + case 20: + return 1; + case 8: + return 0; + case 9: + case 10: + case 11: + case 12: + case 14: + case 15: + case 19: + return -1; + case 13: + return 64; + } + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + + function _putenv(string) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(115, string); + // int putenv(char *string); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/putenv.html + // WARNING: According to the standard (and the glibc implementation), the + // string is taken by reference so future changes are reflected. + // We copy it instead, possibly breaking some uses. + if (string === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + string = Pointer_stringify(string); + var splitPoint = string.indexOf('=') + if (string === '' || string.indexOf('=') === -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = string.slice(0, splitPoint); + var value = string.slice(splitPoint + 1); + if (!(name in ENV) || ENV[name] !== value) { + ENV[name] = value; + ___buildEnvironment(ENV); + } + return 0; + } + + 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 _utimes(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(13, path, times); + var time; + if (times) { + var offset = 8 + 0; + time = HEAP32[(((times)+(offset))>>2)] * 1000; + offset = 8 + 4; + time += HEAP32[(((times)+(offset))>>2)] / 1000; + } else { + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; + } + } + + 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) }; +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();; +if (!ENVIRONMENT_IS_PTHREAD) PThread.initMainThreadBlock();; +if (!ENVIRONMENT_IS_PTHREAD) ___buildEnvironment(ENV);; +if (!ENVIRONMENT_IS_PTHREAD) { + // Only main thread initializes these, pthreads copy them over at thread worker init time (in pthread-main.js) +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.asmGlobalArg['Atomics'] = Atomics; +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, "_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, "_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_glCompileShader": _emscripten_glCompileShader, "_sysconf": _sysconf, "_utime": _utime, "_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, "_chroot": _chroot, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_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, "__pthread_testcancel_js": __pthread_testcancel_js, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_unsetenv": _unsetenv, "_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, "_emscripten_get_now_is_monotonic": _emscripten_get_now_is_monotonic, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_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_asm_const_v": _emscripten_asm_const_v, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_pthread_self": _pthread_self, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "__register_pthread_ptr": __register_pthread_ptr, "_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_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_gettimeofday": _gettimeofday, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "__spawn_thread": __spawn_thread, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_conditional_set_current_thread_status_js": _emscripten_conditional_set_current_thread_status_js, "_putenv": _putenv, "_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, "_fpathconf": _fpathconf, "_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_glFrustum": _emscripten_glFrustum, "_emscripten_is_main_runtime_thread": _emscripten_is_main_runtime_thread, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___buildEnvironment": ___buildEnvironment, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_utimes": _utimes, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_tzset": _tzset, "_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, "___clock_gettime": ___clock_gettime, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_clearenv": _clearenv, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_getenv": _getenv, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_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, "_emscripten_futex_wake": _emscripten_futex_wake, "_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, "__cleanup_thread": __cleanup_thread, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_set_current_thread_status_js": _emscripten_set_current_thread_status_js, "_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_glShaderSource": _emscripten_glShaderSource, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_syscall": _emscripten_syscall, "_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_futex_wait": _emscripten_futex_wait, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_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, "___pthread_setcancelstate": ___pthread_setcancelstate, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_confstr": _confstr, "_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, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_pthread_create": _pthread_create, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_pthread_getschedparam": _pthread_getschedparam, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_atexit": _atexit, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_setenv": _setenv, "_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; @@ -6873,7 +11022,6 @@ var asm = (function(global, env, buffer) { 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; @@ -6884,6 +11032,7 @@ var asm = (function(global, env, buffer) { 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; @@ -6896,25 +11045,26 @@ var asm = (function(global, env, buffer) { 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_glCompileShader=env._emscripten_glCompileShader; + var _sysconf=env._sysconf; + var _utime=env._utime; 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 _chroot=env._chroot; 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_glLoadMatrixf=env._emscripten_glLoadMatrixf; var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; @@ -6926,9 +11076,11 @@ var asm = (function(global, env, buffer) { var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; var _emscripten_glScissor=env._emscripten_glScissor; + var __pthread_testcancel_js=env.__pthread_testcancel_js; var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _unsetenv=env._unsetenv; var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; @@ -6936,13 +11088,14 @@ var asm = (function(global, env, buffer) { var _glfwSetErrorCallback=env._glfwSetErrorCallback; var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; var _glfwDestroyWindow=env._glfwDestroyWindow; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var ___syscall146=env.___syscall146; 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_glIsBuffer=env._emscripten_glIsBuffer; var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; var _glGetProgramInfoLog=env._glGetProgramInfoLog; var _glfwSetScrollCallback=env._glfwSetScrollCallback; @@ -6967,17 +11120,21 @@ var asm = (function(global, env, buffer) { var _glDepthFunc=env._glDepthFunc; var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_asm_const_v=env._emscripten_asm_const_v; 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 _pthread_self=env._pthread_self; var _emscripten_glBufferData=env._emscripten_glBufferData; var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; var _emscripten_glRotatef=env._emscripten_glRotatef; var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; var _glEnable=env._glEnable; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; var _emscripten_glReadPixels=env._emscripten_glReadPixels; var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; var _glGetString=env._glGetString; @@ -6985,7 +11142,7 @@ var asm = (function(global, env, buffer) { var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; var emscriptenWebGLGet=env.emscriptenWebGLGet; var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var __register_pthread_ptr=env.__register_pthread_ptr; var _emscripten_get_now=env._emscripten_get_now; var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; var _glAttachShader=env._glAttachShader; @@ -6994,41 +11151,49 @@ var asm = (function(global, env, buffer) { 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_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; var _time=env._time; - var ___syscall146=env.___syscall146; + var _gettimeofday=env._gettimeofday; + 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 __spawn_thread=env.__spawn_thread; var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_conditional_set_current_thread_status_js=env._emscripten_conditional_set_current_thread_status_js; + var _putenv=env._putenv; 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 _fpathconf=env._fpathconf; 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_glFrustum=env._emscripten_glFrustum; + var _emscripten_is_main_runtime_thread=env._emscripten_is_main_runtime_thread; 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 ___buildEnvironment=env.___buildEnvironment; var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _utimes=env._utimes; 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 _tzset=env._tzset; var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; @@ -7039,29 +11204,33 @@ var asm = (function(global, env, buffer) { var _emscripten_glHint=env._emscripten_glHint; var _glfwSetCharCallback=env._glfwSetCharCallback; var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _glGetFloatv=env._glGetFloatv; var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var ___clock_gettime=env.___clock_gettime; 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 _clearenv=env._clearenv; var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; var _glCompileShader=env._glCompileShader; var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _getenv=env._getenv; 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_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + 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 _emscripten_futex_wake=env._emscripten_futex_wake; var _glFrontFace=env._glFrontFace; var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; @@ -7071,10 +11240,11 @@ var asm = (function(global, env, buffer) { var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; var _abort=env._abort; var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var __cleanup_thread=env.__cleanup_thread; var _glDeleteBuffers=env._glDeleteBuffers; var _glBufferData=env._glBufferData; var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _emscripten_set_current_thread_status_js=env._emscripten_set_current_thread_status_js; var _glfwSetKeyCallback=env._glfwSetKeyCallback; var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; @@ -7085,8 +11255,9 @@ var asm = (function(global, env, buffer) { var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_syscall=env._emscripten_syscall; var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; @@ -7096,18 +11267,19 @@ var asm = (function(global, env, buffer) { var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + 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_futex_wait=env._emscripten_futex_wait; 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 _emscripten_request_pointerlock=env._emscripten_request_pointerlock; var _glClear=env._glClear; var _glGenTextures=env._glGenTextures; var _emscripten_glDisable=env._emscripten_glDisable; @@ -7117,12 +11289,14 @@ var asm = (function(global, env, buffer) { var _emscripten_glUniform3f=env._emscripten_glUniform3f; var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var ___pthread_setcancelstate=env.___pthread_setcancelstate; 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 _confstr=env._confstr; var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; var _emscripten_glBindTexture=env._emscripten_glBindTexture; @@ -7132,29 +11306,42 @@ var asm = (function(global, env, buffer) { var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; var ___syscall54=env.___syscall54; var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var _glfwWaitEvents=env._glfwWaitEvents; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; 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 _pthread_getschedparam=env._pthread_getschedparam; 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 _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; var _glTexParameteri=env._glTexParameteri; var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _atexit=env._atexit; 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 _setenv=env._setenv; var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + var Atomics_load=global.Atomics.load; + var Atomics_store=global.Atomics.store; + var Atomics_exchange=global.Atomics.exchange; + var Atomics_compareExchange=global.Atomics.compareExchange; + var Atomics_add=global.Atomics.add; + var Atomics_sub=global.Atomics.sub; + var Atomics_and=global.Atomics.and; + var Atomics_or=global.Atomics.or; + var Atomics_xor=global.Atomics.xor; var tempFloat = 0.0; // EMSCRIPTEN_START_FUNCS @@ -7203,7 +11390,7 @@ function getTempRet0() { function _InitPhysics() { var label = 0, sp = 0; sp = STACKTOP; - (_pthread_create((14160|0),(0|0),(2|0),(0|0))|0); + (_pthread_create((14312|0),(0|0),(2|0),(0|0))|0); return; } function _PhysicsLoop($0) { @@ -7211,53 +11398,53 @@ function _PhysicsLoop($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; + HEAP32[3579] = 1; + HEAPF64[1751] = 0.0; _InitTimer(); - $1 = HEAP32[3541]|0; + $1 = HEAP32[3579]|0; $2 = ($1|0)==(0); if (!($2)) { while(1) { $3 = (+_GetCurrentTime()); - HEAPF64[1733] = $3; - $4 = +HEAPF64[1734]; + HEAPF64[1752] = $3; + $4 = +HEAPF64[1753]; $5 = $3 - $4; - HEAPF64[1735] = $5; - $6 = +HEAPF64[1732]; + HEAPF64[1754] = $5; + $6 = +HEAPF64[1751]; $7 = $5 + $6; - HEAPF64[1732] = $7; + HEAPF64[1751] = $7; _MathClamp(); - $$pr = +HEAPF64[1732]; + $$pr = +HEAPF64[1751]; $8 = !($$pr >= 0.016666666666666666); if (!($8)) { while(1) { _PhysicsStep(); - $9 = +HEAPF64[1735]; - $10 = +HEAPF64[1732]; + $9 = +HEAPF64[1754]; + $10 = +HEAPF64[1751]; $11 = $10 - $9; - HEAPF64[1732] = $11; + HEAPF64[1751] = $11; $12 = !($11 >= 0.016666666666666666); if ($12) { break; } } } - $13 = +HEAPF64[1733]; - HEAPF64[1734] = $13; - $14 = HEAP32[3541]|0; + $13 = +HEAPF64[1752]; + HEAPF64[1753] = $13; + $14 = HEAP32[3579]|0; $15 = ($14|0)==(0); if ($15) { break; } } } - $16 = HEAP32[3608]|0; + $16 = HEAP32[3646]|0; $$0912 = (($16) + -1)|0; $17 = ($$0912|0)>(-1); if ($17) { $$0913 = $$0912; while(1) { - $20 = (14436 + ($$0913<<2)|0); + $20 = (14588 + ($$0913<<2)|0); $21 = HEAP32[$20>>2]|0; _DestroyPhysicsManifold($21); $$09 = (($$0913) + -1)|0; @@ -7269,7 +11456,7 @@ function _PhysicsLoop($0) { } } } - $18 = HEAP32[3543]|0; + $18 = HEAP32[3581]|0; $$010 = (($18) + -1)|0; $19 = ($$010|0)>(-1); if ($19) { @@ -7278,7 +11465,7 @@ function _PhysicsLoop($0) { return (0|0); } while(1) { - $23 = (14176 + ($$011<<2)|0); + $23 = (14328 + ($$011<<2)|0); $24 = HEAP32[$23>>2]|0; _DestroyPhysicsBody($24); $$0 = (($$011) + -1)|0; @@ -7324,10 +11511,10 @@ function _CreatePhysicsBodyPolygon($0,$1,$2,$3) { $5 = sp + 8|0; $6 = sp; $7 = (_malloc(500)|0); - $8 = HEAP32[3542]|0; + $8 = HEAP32[3580]|0; $9 = (($8) + 500)|0; - HEAP32[3542] = $9; - $10 = HEAP32[3543]|0; + HEAP32[3580] = $9; + $10 = HEAP32[3581]|0; $11 = ($10|0)==(0); $$0116149 = 0; L1: while(1) { @@ -7338,7 +11525,7 @@ function _CreatePhysicsBodyPolygon($0,$1,$2,$3) { $$0119144 = 0; } while(1) { - $14 = (14176 + ($$0119144<<2)|0); + $14 = (14328 + ($$0119144<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$15>>2]|0; $17 = ($16|0)==($$0116149|0); @@ -7534,11 +11721,11 @@ function _CreatePhysicsBodyPolygon($0,$1,$2,$3) { HEAP32[$118>>2] = 0; $119 = ((($7)) + 80|0); HEAP32[$119>>2] = 0; - $120 = HEAP32[3543]|0; - $121 = (14176 + ($120<<2)|0); + $120 = HEAP32[3581]|0; + $121 = (14328 + ($120<<2)|0); HEAP32[$121>>2] = $7; $122 = (($120) + 1)|0; - HEAP32[3543] = $122; + HEAP32[3581] = $122; STACKTOP = sp;return ($7|0); } function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { @@ -7563,10 +11750,10 @@ function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { $6 = sp + 8|0; $7 = sp; $8 = (_malloc(500)|0); - $9 = HEAP32[3542]|0; + $9 = HEAP32[3580]|0; $10 = (($9) + 500)|0; - HEAP32[3542] = $10; - $11 = HEAP32[3543]|0; + HEAP32[3580] = $10; + $11 = HEAP32[3581]|0; $12 = ($11|0)==(0); $$0116149 = 0; L1: while(1) { @@ -7577,7 +11764,7 @@ function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { $$0119144 = 0; } while(1) { - $15 = (14176 + ($$0119144<<2)|0); + $15 = (14328 + ($$0119144<<2)|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$16>>2]|0; $18 = ($17|0)==($$0116149|0); @@ -7778,11 +11965,11 @@ function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { HEAP32[$120>>2] = 0; $121 = ((($8)) + 80|0); HEAP32[$121>>2] = 0; - $122 = HEAP32[3543]|0; - $123 = (14176 + ($122<<2)|0); + $122 = HEAP32[3581]|0; + $123 = (14328 + ($122<<2)|0); HEAP32[$123>>2] = $8; $124 = (($122) + 1)|0; - HEAP32[3543] = $124; + HEAP32[3581] = $124; STACKTOP = sp;return ($8|0); } function _CreateRectanglePolygon($0,$1,$2) { @@ -8055,16 +12242,16 @@ function _DestroyPhysicsBody($0) { return; } $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[3543]|0; + $3 = HEAP32[3581]|0; $4 = ($3|0)==(0); L4: do { if ($4) { $$021 = -1; } else { - $5 = HEAP32[3543]|0; + $5 = HEAP32[3581]|0; $$02023 = 0; while(1) { - $6 = (14176 + ($$02023<<2)|0); + $6 = (14328 + ($$02023<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==($2|0); @@ -8083,24 +12270,24 @@ function _DestroyPhysicsBody($0) { } } } while(0); - $12 = (14176 + ($$021<<2)|0); + $12 = (14328 + ($$021<<2)|0); $13 = HEAP32[$12>>2]|0; _free($13); - $14 = HEAP32[3542]|0; + $14 = HEAP32[3580]|0; $15 = (($14) + -500)|0; - HEAP32[3542] = $15; + HEAP32[3580] = $15; HEAP32[$12>>2] = 0; - $16 = HEAP32[3543]|0; + $16 = HEAP32[3581]|0; $17 = ($$021>>>0)<($16>>>0); if ($17) { - $18 = HEAP32[3543]|0; + $18 = HEAP32[3581]|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); + $24 = (14328 + ($$022<<2)|0); + $25 = (14328 + ($20<<2)|0); $26 = HEAP32[$25>>2]|0; HEAP32[$24>>2] = $26; } @@ -8116,7 +12303,7 @@ function _DestroyPhysicsBody($0) { $$lcssa = $16; } $19 = (($$lcssa) + -1)|0; - HEAP32[3543] = $19; + HEAP32[3581] = $19; return; } function _Vector2Subtract_4($0,$1,$2) { @@ -8161,20 +12348,20 @@ function _MathNormalize($0) { function _GetPhysicsBodiesCount() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3543]|0; + $0 = HEAP32[3581]|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; + $1 = HEAP32[3581]|0; $2 = ($1>>>0)>($0>>>0); if (!($2)) { $$0 = 0; return ($$0|0); } - $3 = (14176 + ($0<<2)|0); + $3 = (14328 + ($0<<2)|0); $4 = HEAP32[$3>>2]|0; $$0 = $4; return ($$0|0); @@ -8183,11 +12370,11 @@ 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; + $1 = HEAP32[3581]|0; $2 = ($1>>>0)>($0>>>0); L1: do { if ($2) { - $3 = (14176 + ($0<<2)|0); + $3 = (14328 + ($0<<2)|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)==(0|0); if ($5) { @@ -8314,20 +12501,20 @@ 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; + $0 = HEAP32[3581]|0; $$01620 = (($0) + -1)|0; $1 = ($$01620|0)>(-1); if ($1) { $$01621 = $$01620; while(1) { - $4 = (14176 + ($$01621<<2)|0); + $4 = (14328 + ($$01621<<2)|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0|0); if (!($6)) { _free($5); - $8 = HEAP32[3542]|0; + $8 = HEAP32[3580]|0; $9 = (($8) + -500)|0; - HEAP32[3542] = $9; + HEAP32[3580] = $9; } $$016 = (($$01621) + -1)|0; $7 = ($$016|0)>(-1); @@ -8338,25 +12525,25 @@ function _ResetPhysics() { } } } - HEAP32[3543] = 0; - $2 = HEAP32[3608]|0; + HEAP32[3581] = 0; + $2 = HEAP32[3646]|0; $$018 = (($2) + -1)|0; $3 = ($$018|0)>(-1); if ($3) { $$019 = $$018; } else { - HEAP32[3608] = 0; + HEAP32[3646] = 0; return; } while(1) { - $10 = (14436 + ($$019<<2)|0); + $10 = (14588 + ($$019<<2)|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)==(0|0); if (!($12)) { _free($11); - $14 = HEAP32[3542]|0; + $14 = HEAP32[3580]|0; $15 = (($14) + -56)|0; - HEAP32[3542] = $15; + HEAP32[3580] = $15; } $$0 = (($$019) + -1)|0; $13 = ($$0|0)>(-1); @@ -8366,219 +12553,256 @@ function _ResetPhysics() { break; } } - HEAP32[3608] = 0; + HEAP32[3646] = 0; return; } function _ClosePhysics() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - HEAP32[3541] = 0; - $0 = HEAP32[3540]|0; + HEAP32[3579] = 0; + $0 = HEAP32[3578]|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; + var $$byval_copy1 = 0, $0 = 0, $1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0.0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0, $24 = 0, $3 = 0; + var $4 = 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_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; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$byval_copy1 = sp + 16|0; + $0 = sp + 8|0; + $1 = sp; _SetConfigFlags(32); - _InitWindow(800,450,3480); + $2 = HEAP32[2]|0; + $3 = HEAP32[3]|0; + _InitWindow($2,$3,3248); _SetTargetFPS(60); - $15 = (_MeasureText(3511,30)|0); - $16 = (800 - ($15))|0; - $17 = (($16) + -10)|0; + $4 = HEAP32[2]|0; + $5 = (_MeasureText(3279,30)|0); + $6 = (($4) + -10)|0; + $7 = (($6) - ($5))|0; + HEAP32[7743] = $7; _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; - } + $8 = HEAP32[2]|0; + $9 = (($8|0) / 2)&-1; + $10 = (+($9|0)); + HEAPF32[$0>>2] = $10; + $11 = ((($0)) + 4|0); + $12 = HEAP32[3]|0; + $13 = (+($12|0)); + HEAPF32[$11>>2] = $13; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$0+4>>2]|0; + $14 = (_CreatePhysicsBodyRectangle($$byval_copy1,500.0,100.0,10.0)|0); + HEAP32[7744] = $14; + $15 = ((($14)) + 4|0); + HEAP32[$15>>2] = 0; + $16 = HEAP32[2]|0; + $17 = (($16|0) / 2)&-1; + $18 = (+($17|0)); + HEAPF32[$1>>2] = $18; + $19 = ((($1)) + 4|0); + $20 = HEAP32[3]|0; + $21 = (($20|0) / 2)&-1; + $22 = (+($21|0)); + HEAPF32[$19>>2] = $22; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>2]|0; + $23 = (_CreatePhysicsBodyCircle($$byval_copy1,45.0,10.0)|0); + HEAP32[7745] = $23; + $24 = ((($23)) + 4|0); + HEAP32[$24>>2] = 0; + _emscripten_set_main_loop((1|0),0,1); + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _UpdateDrawFrame() { + var $$03743 = 0, $$03743$in = 0, $$03840 = 0, $$039 = 0, $$byval_copy5 = 0, $$byval_copy6 = 0, $$byval_copy7 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0; + var $20 = 0.0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0.0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0.0, $36 = 0, $37 = 0, $38 = 0; + var $39 = 0, $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; + var $57 = 0, $58 = 0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0.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; + var $75 = 0, $76 = 0, $77 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond47 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 112|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(112|0); + $$byval_copy7 = sp + 88|0; + $$byval_copy6 = sp + 80|0; + $$byval_copy5 = sp + 72|0; + $0 = sp + 64|0; + $1 = sp + 56|0; + $2 = sp + 48|0; + $3 = sp + 40|0; + $4 = sp + 100|0; + $5 = sp + 24|0; + $6 = sp + 8|0; + $7 = sp + 96|0; + $8 = sp + 36|0; + $9 = sp + 32|0; + $10 = sp + 20|0; + $11 = sp + 16|0; + $12 = sp; + $13 = (_IsKeyPressed(82)|0); + $14 = ($13|0)==(0); + if (!($14)) { + _ResetPhysics(); + $15 = HEAP32[2]|0; + $16 = (($15|0) / 2)&-1; + $17 = (+($16|0)); + HEAPF32[$0>>2] = $17; + $18 = ((($0)) + 4|0); + $19 = HEAP32[3]|0; + $20 = (+($19|0)); + HEAPF32[$18>>2] = $20; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$0+4>>2]|0; + $21 = (_CreatePhysicsBodyRectangle($$byval_copy7,500.0,100.0,10.0)|0); + HEAP32[7744] = $21; + $22 = ((($21)) + 4|0); + HEAP32[$22>>2] = 0; + $23 = HEAP32[2]|0; + $24 = (($23|0) / 2)&-1; + $25 = (+($24|0)); + HEAPF32[$1>>2] = $25; + $26 = ((($1)) + 4|0); + $27 = HEAP32[3]|0; + $28 = (($27|0) / 2)&-1; + $29 = (+($28|0)); + HEAPF32[$26>>2] = $29; + ;HEAP32[$$byval_copy7>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$1+4>>2]|0; + $30 = (_CreatePhysicsBodyCircle($$byval_copy7,45.0,10.0)|0); + HEAP32[7745] = $30; + $31 = ((($30)) + 4|0); + HEAP32[$31>>2] = 0; + } + $32 = (_IsMouseButtonPressed(0)|0); + $33 = ($32|0)==(0); + if ($33) { + $37 = (_IsMouseButtonPressed(1)|0); + $38 = ($37|0)==(0); + if (!($38)) { + _GetMousePosition($3); + $39 = (_GetRandomValue(10,45)|0); + $40 = (+($39|0)); + ;HEAP32[$$byval_copy7>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$3+4>>2]|0; + (_CreatePhysicsBodyCircle($$byval_copy7,$40,10.0)|0); + } + } else { + _GetMousePosition($2); + $34 = (_GetRandomValue(20,80)|0); + $35 = (+($34|0)); + $36 = (_GetRandomValue(3,8)|0); + ;HEAP32[$$byval_copy7>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy7+4>>2]=HEAP32[$2+4>>2]|0; + (_CreatePhysicsBodyPolygon($$byval_copy7,$35,$36,10.0)|0); + } + $41 = (_GetPhysicsBodiesCount()|0); + $42 = ($41|0)>(0); + if ($42) { + $$03743$in = $41; + while(1) { + $$03743 = (($$03743$in) + -1)|0; + $55 = (_GetPhysicsBody($$03743)|0); + $56 = ($55|0)==(0|0); + if (!($56)) { + $58 = ((($55)) + 12|0); + $59 = +HEAPF32[$58>>2]; + $60 = HEAP32[3]|0; + $61 = $60 << 1; + $62 = (+($61|0)); + $63 = $59 > $62; + if ($63) { + _DestroyPhysicsBody($55); + } + } + $57 = ($$03743$in|0)>(1); + if ($57) { + $$03743$in = $$03743; + } 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; - } + } + _BeginDrawing(); + HEAP8[$4>>0] = 0; + $43 = ((($4)) + 1|0); + HEAP8[$43>>0] = 0; + $44 = ((($4)) + 2|0); + HEAP8[$44>>0] = 0; + $45 = ((($4)) + 3|0); + HEAP8[$45>>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); + $46 = HEAP32[2]|0; + $47 = (($46) + -90)|0; + $48 = HEAP32[3]|0; + $49 = (($48) + -30)|0; + _DrawFPS($47,$49); + $50 = (_GetPhysicsBodiesCount()|0); + $51 = ($50|0)>(0); + if ($51) { + $52 = ((($7)) + 1|0); + $53 = ((($7)) + 2|0); + $54 = ((($7)) + 3|0); + $$03840 = 0; + while(1) { + $70 = (_GetPhysicsBody($$03840)|0); + $71 = ($70|0)==(0|0); + if (!($71)) { + $72 = (_GetPhysicsShapeVerticesCount($$03840)|0); + $73 = ($72|0)>(0); + if ($73) { + $$039 = 0; + while(1) { + _GetPhysicsShapeVertex($5,$70,$$039); + $74 = (($$039) + 1)|0; + $75 = ($74|0)<($72|0); + $76 = $75 ? $74 : 0; + _GetPhysicsShapeVertex($6,$70,$76); + HEAP8[$7>>0] = 0; + HEAP8[$52>>0] = -28; + HEAP8[$53>>0] = 48; + HEAP8[$54>>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 = ($74|0)==($72|0); + if ($exitcond) { + break; + } else { + $$039 = $74; } } } - $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; + } + $77 = (($$03840) + 1)|0; + $exitcond47 = ($77|0)==($50|0); + if ($exitcond47) { + break; + } else { + $$03840 = $77; + } + } + } + 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(3286,10,10,10,$$byval_copy7); + 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(3324,10,25,10,$$byval_copy7); + 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(3362,10,40,10,$$byval_copy7); + $64 = HEAP32[7743]|0; + $65 = HEAP32[4]|0; + 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(3279,$64,$65,30,$$byval_copy7); + $66 = HEAP32[7743]|0; + $67 = (($66) + 50)|0; + $68 = HEAP32[4]|0; + $69 = (($68) + -7)|0; + 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(3389,$67,$69,10,$$byval_copy7); + _EndDrawing(); + STACKTOP = sp;return; } function _GetRandomNumber() { var $0 = 0, $1 = 0, label = 0, sp = 0; @@ -8593,7 +12817,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetCurrentTime()); - HEAPF64[1734] = $1; + HEAPF64[1753] = $1; return; } function _GetCurrentTime() { @@ -8620,7 +12844,7 @@ function _GetCurrentTime() { function _MathClamp() { var $$sink = 0.0, $0 = 0.0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[1732]; + $0 = +HEAPF64[1751]; $1 = $0 < 0.0; if ($1) { $$sink = 0.0; @@ -8632,7 +12856,7 @@ function _MathClamp() { return; } } - HEAPF64[1732] = $$sink; + HEAPF64[1751] = $$sink; return; } function _PhysicsStep() { @@ -8646,16 +12870,16 @@ function _PhysicsStep() { 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; + $0 = HEAP32[7746]|0; $1 = (($0) + 1)|0; - HEAP32[7705] = $1; - $2 = HEAP32[3608]|0; + HEAP32[7746] = $1; + $2 = HEAP32[3646]|0; $$0167 = (($2) + -1)|0; $3 = ($$0167|0)>(-1); if ($3) { $$0168 = $$0167; while(1) { - $6 = (14436 + ($$0168<<2)|0); + $6 = (14588 + ($$0168<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==(0|0); if (!($8)) { @@ -8670,7 +12894,7 @@ function _PhysicsStep() { } } } - $4 = HEAP32[3543]|0; + $4 = HEAP32[3581]|0; $5 = ($4|0)==(0); if ($5) { $17 = $4; @@ -8678,7 +12902,7 @@ function _PhysicsStep() { } else { $$0125165 = 0; while(1) { - $11 = (14176 + ($$0125165<<2)|0); + $11 = (14328 + ($$0125165<<2)|0); $12 = HEAP32[$11>>2]|0; $13 = ((($12)) + 76|0); HEAP32[$13>>2] = 0; @@ -8690,24 +12914,24 @@ function _PhysicsStep() { break; } } - $$pr = HEAP32[3543]|0; + $$pr = HEAP32[3581]|0; $10 = ($$pr|0)==(0); if (!($10)) { $$0126163 = 0; while(1) { - $19 = (14176 + ($$0126163<<2)|0); + $19 = (14328 + ($$0126163<<2)|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)==(0|0); if (!($21)) { $$0130160 = (($$0126163) + 1)|0; - $22 = HEAP32[3543]|0; + $22 = HEAP32[3581]|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); + $26 = (14328 + ($$0130161<<2)|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)==(0|0); do { @@ -8813,7 +13037,7 @@ function _PhysicsStep() { } } while(0); $$0130 = (($$0130161) + 1)|0; - $29 = HEAP32[3543]|0; + $29 = HEAP32[3581]|0; $30 = ($$0130>>>0)<($29>>>0); if ($30) { $$0130161 = $$0130; @@ -8824,7 +13048,7 @@ function _PhysicsStep() { } } $97 = (($$0126163) + 1)|0; - $98 = HEAP32[3543]|0; + $98 = HEAP32[3581]|0; $99 = ($97>>>0)<($98>>>0); if ($99) { $$0126163 = $97; @@ -8839,10 +13063,10 @@ function _PhysicsStep() { if ((label|0) == 8) { $16 = ($17|0)==(0); if (!($16)) { - $18 = HEAP32[3543]|0; + $18 = HEAP32[3581]|0; $$0135158 = 0; while(1) { - $103 = (14176 + ($$0135158<<2)|0); + $103 = (14328 + ($$0135158<<2)|0); $104 = HEAP32[$103>>2]|0; $105 = ($104|0)==(0|0); if (!($105)) { @@ -8858,15 +13082,15 @@ function _PhysicsStep() { } } } - $100 = HEAP32[3608]|0; + $100 = HEAP32[3646]|0; $101 = ($100|0)==(0); if ($101) { $$0134155 = 0;$114 = 0; } else { - $102 = HEAP32[3608]|0; + $102 = HEAP32[3646]|0; $$0136156 = 0; while(1) { - $108 = (14436 + ($$0136156<<2)|0); + $108 = (14588 + ($$0136156<<2)|0); $109 = HEAP32[$108>>2]|0; $110 = ($109|0)==(0|0); if (!($110)) { @@ -8886,12 +13110,12 @@ function _PhysicsStep() { while(1) { if ((label|0) == 32) { label = 0; - $$pr172 = HEAP32[3608]|0; + $$pr172 = HEAP32[3646]|0; $$0134155 = $$0134155$ph;$114 = $$pr172; } $113 = ($114|0)==(0); if (!($113)) { - $115 = (14436 + ($$0134155<<2)|0); + $115 = (14588 + ($$0134155<<2)|0); $$0133152 = 0; while(1) { $120 = HEAP32[$115>>2]|0; @@ -8900,7 +13124,7 @@ function _PhysicsStep() { _IntegratePhysicsImpulses($120); } $122 = (($$0133152) + 1)|0; - $123 = HEAP32[3608]|0; + $123 = HEAP32[3646]|0; $124 = ($122>>>0)<($123>>>0); if ($124) { $$0133152 = $122; @@ -8918,13 +13142,13 @@ function _PhysicsStep() { label = 32; } } - $116 = HEAP32[3543]|0; + $116 = HEAP32[3581]|0; $117 = ($116|0)==(0); if (!($117)) { - $118 = HEAP32[3543]|0; + $118 = HEAP32[3581]|0; $$0131150 = 0; while(1) { - $128 = (14176 + ($$0131150<<2)|0); + $128 = (14328 + ($$0131150<<2)|0); $129 = HEAP32[$128>>2]|0; $130 = ($129|0)==(0|0); if (!($130)) { @@ -8939,13 +13163,13 @@ function _PhysicsStep() { } } } - $125 = HEAP32[3608]|0; + $125 = HEAP32[3646]|0; $126 = ($125|0)==(0); if (!($126)) { - $127 = HEAP32[3608]|0; + $127 = HEAP32[3646]|0; $$0129148 = 0; while(1) { - $136 = (14436 + ($$0129148<<2)|0); + $136 = (14588 + ($$0129148<<2)|0); $137 = HEAP32[$136>>2]|0; $138 = ($137|0)==(0|0); if (!($138)) { @@ -8960,15 +13184,15 @@ function _PhysicsStep() { } } } - $133 = HEAP32[3543]|0; + $133 = HEAP32[3581]|0; $134 = ($133|0)==(0); if ($134) { return; } - $135 = HEAP32[3543]|0; + $135 = HEAP32[3581]|0; $$0127147 = 0; while(1) { - $141 = (14176 + ($$0127147<<2)|0); + $141 = (14328 + ($$0127147<<2)|0); $142 = HEAP32[$141>>2]|0; $143 = ($142|0)==(0|0); if (!($143)) { @@ -8999,16 +13223,16 @@ function _DestroyPhysicsManifold($0) { return; } $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[3608]|0; + $3 = HEAP32[3646]|0; $4 = ($3|0)==(0); L4: do { if ($4) { $$021 = -1; } else { - $5 = HEAP32[3608]|0; + $5 = HEAP32[3646]|0; $$02023 = 0; while(1) { - $6 = (14436 + ($$02023<<2)|0); + $6 = (14588 + ($$02023<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==($2|0); @@ -9027,24 +13251,24 @@ function _DestroyPhysicsManifold($0) { } } } while(0); - $12 = (14436 + ($$021<<2)|0); + $12 = (14588 + ($$021<<2)|0); $13 = HEAP32[$12>>2]|0; _free($13); - $14 = HEAP32[3542]|0; + $14 = HEAP32[3580]|0; $15 = (($14) + -56)|0; - HEAP32[3542] = $15; + HEAP32[3580] = $15; HEAP32[$12>>2] = 0; - $16 = HEAP32[3608]|0; + $16 = HEAP32[3646]|0; $17 = ($$021>>>0)<($16>>>0); if ($17) { - $18 = HEAP32[3608]|0; + $18 = HEAP32[3646]|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); + $24 = (14588 + ($$022<<2)|0); + $25 = (14588 + ($20<<2)|0); $26 = HEAP32[$25>>2]|0; HEAP32[$24>>2] = $26; } @@ -9060,7 +13284,7 @@ function _DestroyPhysicsManifold($0) { $$lcssa = $16; } $19 = (($$lcssa) + -1)|0; - HEAP32[3608] = $19; + HEAP32[3646] = $19; return; } function _CreatePhysicsManifold($0,$1) { @@ -9070,10 +13294,10 @@ function _CreatePhysicsManifold($0,$1) { 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; + $3 = HEAP32[3580]|0; $4 = (($3) + 56)|0; - HEAP32[3542] = $4; - $5 = HEAP32[3608]|0; + HEAP32[3580] = $4; + $5 = HEAP32[3646]|0; $6 = ($5|0)==(0); $$04457 = 0; L1: while(1) { @@ -9084,7 +13308,7 @@ function _CreatePhysicsManifold($0,$1) { $$04755 = 0; } while(1) { - $9 = (14436 + ($$04755<<2)|0); + $9 = (14588 + ($$04755<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$10>>2]|0; $12 = ($11|0)==($$04457|0); @@ -9127,11 +13351,11 @@ function _CreatePhysicsManifold($0,$1) { 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); + $19 = HEAP32[3646]|0; + $20 = (14588 + ($19<<2)|0); HEAP32[$20>>2] = $2; $21 = (($19) + 1)|0; - HEAP32[3608] = $21; + HEAP32[3646] = $21; return ($2|0); } function _SolvePhysicsManifold($0) { @@ -9231,7 +13455,7 @@ function _IntegratePhysicsForces($0) { $8 = +HEAPF32[$7>>2]; $9 = $2 * $8; $10 = $9; - $11 = +HEAPF64[1735]; + $11 = +HEAPF64[1754]; $12 = $11 * 0.5; $13 = $10 * $12; $14 = ((($0)) + 16|0); @@ -9255,7 +13479,7 @@ function _IntegratePhysicsForces($0) { $30 = HEAP32[$29>>2]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = +HEAPF32[7706]; + $32 = +HEAPF32[7747]; $33 = $32; $34 = $12 * $33; $35 = +HEAPF32[$14>>2]; @@ -9263,7 +13487,7 @@ function _IntegratePhysicsForces($0) { $37 = $36 + $34; $38 = $37; HEAPF32[$14>>2] = $38; - $39 = +HEAPF32[2]; + $39 = +HEAPF32[5]; $40 = $39; $41 = $12 * $40; $42 = +HEAPF32[$24>>2]; @@ -9348,13 +13572,13 @@ function _InitializePhysicsManifolds($0) { $39 = ((($7)) + 20|0); $40 = ((($$byval_copy9)) + 4|0); $41 = ((($4)) + 4|0); - $42 = +HEAPF32[7706]; + $42 = +HEAPF32[7747]; $43 = $42; - $44 = +HEAPF64[1735]; + $44 = +HEAPF64[1754]; $45 = $43 * $44; $46 = $45; $47 = ((($5)) + 4|0); - $48 = +HEAPF32[2]; + $48 = +HEAPF32[5]; $49 = $48; $50 = $49 * $44; $51 = $50; @@ -9851,7 +14075,7 @@ function _IntegratePhysicsVelocity($0) { $4 = ((($0)) + 16|0); $5 = +HEAPF32[$4>>2]; $6 = $5; - $7 = +HEAPF64[1735]; + $7 = +HEAPF64[1754]; $8 = $6 * $7; $9 = ((($0)) + 8|0); $10 = +HEAPF32[$9>>2]; @@ -12272,7 +16496,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[7708] = $2; + HEAP32[7749] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -12285,7 +16509,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 13888; + $95 = 14040; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -12298,48 +16522,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 13928; + $106 = 14080; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[3482]; - $111 = +HEAPF32[3472]; + $110 = +HEAPF32[3520]; + $111 = +HEAPF32[3510]; $112 = $110 - $111; - HEAPF32[3484] = $112; - $113 = +HEAPF32[(13932)>>2]; - $114 = +HEAPF32[(13892)>>2]; + HEAPF32[3522] = $112; + $113 = +HEAPF32[(14084)>>2]; + $114 = +HEAPF32[(14044)>>2]; $115 = $113 - $114; - HEAPF32[(13940)>>2] = $115; - HEAP32[7707] = 4; + HEAPF32[(14092)>>2] = $115; + HEAP32[7748] = 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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14072>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14072+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14096+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[7713] = $116; - $117 = 13920; + HEAPF32[7754] = $116; + $117 = 14072; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 13888; + $123 = 14040; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 13944; + $127 = 14096; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 13928; + $133 = 14080; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -12352,7 +16576,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 13920; + $144 = 14072; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -12365,27 +16589,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 13944; + $155 = 14096; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[3486]; - $160 = +HEAPF32[3480]; + $159 = +HEAPF32[3524]; + $160 = +HEAPF32[3518]; $161 = $159 - $160; - HEAPF32[3484] = $161; - $162 = +HEAPF32[(13948)>>2]; - $163 = +HEAPF32[(13924)>>2]; + HEAPF32[3522] = $161; + $162 = +HEAPF32[(14100)>>2]; + $163 = +HEAPF32[(14076)>>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; + HEAPF32[(14092)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14072>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14072+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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14080>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14080+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14096+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -12397,31 +16621,31 @@ function _ProcessGestureEvent($0) { 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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14072>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14072+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14096+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[7713]; + $170 = +HEAPF32[7754]; $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; + HEAP32[7748] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14072>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14072+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14096>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14096+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[7714] = $174; + HEAPF32[7755] = $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; + HEAPF32[7754] = 0.0; + HEAPF32[7755] = 0.0; + HEAPF32[3522] = 0.0; + HEAPF32[(14092)>>2] = 0.0; + HEAP32[7749] = 0; + HEAP32[7748] = 0; STACKTOP = sp;return; break; } @@ -12431,22 +16655,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[7709]|0; + $6 = HEAP32[7750]|0; $7 = (($6) + 1)|0; - HEAP32[7709] = $7; - $8 = HEAP32[7707]|0; + HEAP32[7750] = $7; + $8 = HEAP32[7748]|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[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+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; + HEAP32[7748] = 2; + HEAP32[7750] = 0; } else { label = 6; } @@ -12454,8 +16678,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[7709] = 1; - HEAP32[7707] = 1; + HEAP32[7750] = 1; + HEAP32[7748] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -12464,19 +16688,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 13888; + $21 = 14040; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 13896; + $25 = 14048; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 13904; + $29 = 14056; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -12484,14 +16708,14 @@ function _ProcessGestureEvent($0) { 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; + HEAP32[6] = $34; + HEAPF32[3516] = 0.0; + HEAPF32[(14068)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[7707]|0; + $35 = HEAP32[7748]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12501,31 +16725,31 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 13904; + $44 = 14056; $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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[7710] = $49; - HEAP32[7711] = 0; + HEAPF32[7751] = $49; + HEAP32[7752] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { - $51 = HEAP32[3]|0; + $51 = HEAP32[6]|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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[7712] = $56; + HEAPF32[7753] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12556,22 +16780,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[7710] = 0.0; - HEAPF32[7712] = 0.0; + HEAPF32[7751] = 0.0; + HEAPF32[7753] = 0.0; $$sink10 = 0; } - HEAP32[7707] = $$sink10; - HEAPF32[3474] = 0.0; - HEAPF32[(13900)>>2] = 0.0; - HEAP32[7708] = 0; + HEAP32[7748] = $$sink10; + HEAPF32[3512] = 0.0; + HEAPF32[(14052)>>2] = 0.0; + HEAP32[7749] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[7711]|0; + $65 = HEAP32[7752]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[7711] = 1; + HEAP32[7752] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12580,31 +16804,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 13920; + $74 = 14072; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[7707]|0; + $78 = HEAP32[7748]|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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14072>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14072+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[7707] = 8; + HEAP32[7748] = 8; } } - $82 = +HEAPF32[3480]; - $83 = +HEAPF32[3474]; + $82 = +HEAPF32[3518]; + $83 = +HEAPF32[3512]; $84 = $82 - $83; - HEAPF32[3478] = $84; - $85 = +HEAPF32[(13924)>>2]; - $86 = +HEAPF32[(13900)>>2]; + HEAPF32[3516] = $84; + $85 = +HEAPF32[(14076)>>2]; + $86 = +HEAPF32[(14052)>>2]; $87 = $85 - $86; - HEAPF32[(13916)>>2] = $87; + HEAPF32[(14068)>>2] = $87; STACKTOP = sp;return; break; } @@ -12616,16 +16840,16 @@ function _ProcessGestureEvent($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[7707]|0; + $0 = HEAP32[7748]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[7708]|0; + $2 = HEAP32[7749]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[7707] = 4; + HEAP32[7748] = 4; } - $4 = HEAP32[7707]|0; + $4 = HEAP32[7748]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12638,14 +16862,14 @@ function _UpdateGestures() { return; } } - HEAP32[7707] = 0; + HEAP32[7748] = 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; + $1 = 14104; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12662,13 +16886,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[7717]|0; + $0 = HEAP32[7758]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[7716]|0; + $0 = HEAP32[7757]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -12679,29 +16903,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,3632,$vararg_buffer); - HEAP32[7719] = $2; + _TraceLog(0,3400,$vararg_buffer); + HEAP32[7760] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); - _InitTimer_10(); + _InitTimer_12(); (_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_keypress_callback((3429|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((3429|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((3429|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((3429|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((3429|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((3429|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; + $3 = HEAP32[7758]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[3488] = $5; - $6 = HEAP32[7716]|0; + HEAPF32[3526] = $5; + $6 = HEAP32[7757]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(13956)>>2] = $8; - $9 = HEAP32[7720]|0; + HEAPF32[(14108)>>2] = $8; + $9 = HEAP32[7761]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -12720,11 +16944,11 @@ function _TraceLog($0,$1,$varargs) { $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; + ;HEAP8[14144>>0]=HEAP8[7958>>0]|0;HEAP8[14144+1>>0]=HEAP8[7958+1>>0]|0;HEAP8[14144+2>>0]=HEAP8[7958+2>>0]|0;HEAP8[14144+3>>0]=HEAP8[7958+3>>0]|0;HEAP8[14144+4>>0]=HEAP8[7958+4>>0]|0;HEAP8[14144+5>>0]=HEAP8[7958+5>>0]|0;HEAP8[14144+6>>0]=HEAP8[7958+6>>0]|0; break; } case 1: { - $3 = 13992; + $3 = 14144; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -12733,11 +16957,11 @@ function _TraceLog($0,$1,$varargs) { 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)); + dest=14144; src=7965; 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; + $7 = 14144; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -12748,16 +16972,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(13992,$1)|0); - $strlen = (_strlen(13992)|0); - $endptr = (13992 + ($strlen)|0); + (_strcat(14144,$1)|0); + $strlen = (_strlen(14144)|0); + $endptr = (14144 + ($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); + (_vprintf(14144,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -12789,22 +17013,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[7717] = $0; - HEAP32[7716] = $1; + HEAP32[7758] = $0; + HEAP32[7757] = $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)); + dest=31120; 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); + _TraceLog(1,4100,$vararg_buffer); } - $6 = HEAP32[7717]|0; - HEAP32[7755] = $6; - $7 = HEAP32[7716]|0; - HEAP32[7756] = $7; + $6 = HEAP32[7758]|0; + HEAP32[7796] = $6; + $7 = HEAP32[7757]|0; + HEAP32[7797] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[33680]|0; + $8 = HEAP8[35996]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -12812,18 +17036,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[33680]|0; + $11 = HEAP8[35996]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[33680]|0; + $14 = HEAP8[35996]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,4358,$vararg_buffer1); + _TraceLog(0,4126,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -12840,18 +17064,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[7757]|0; + $21 = HEAP32[7798]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[7717]|0; - $48 = HEAP32[7716]|0; - $49 = HEAP32[7719]|0; + $47 = HEAP32[7758]|0; + $48 = HEAP32[7757]|0; + $49 = HEAP32[7760]|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; + HEAP32[7756] = $50; + $51 = HEAP32[7758]|0; + HEAP32[7799] = $51; + $52 = HEAP32[7757]|0; + HEAP32[7800] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12860,9 +17084,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[7717]|0; + $27 = HEAP32[7758]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[7716]|0; + $29 = HEAP32[7757]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12884,87 +17108,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[7755] = $31; - HEAP32[7756] = $34; + HEAP32[7796] = $31; + HEAP32[7797] = $34; } } while(0); - $38 = HEAP32[7755]|0; - $39 = HEAP32[7756]|0; + $38 = HEAP32[7796]|0; + $39 = HEAP32[7797]|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; + _TraceLog(2,4151,$vararg_buffer3); + $40 = HEAP32[7796]|0; + $41 = HEAP32[7797]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[7755]|0; - $43 = HEAP32[7756]|0; - $44 = HEAP32[7719]|0; + $42 = HEAP32[7796]|0; + $43 = HEAP32[7797]|0; + $44 = HEAP32[7760]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[7715] = $46; + HEAP32[7756] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,4421,$vararg_buffer6); + _TraceLog(1,4189,$vararg_buffer6); } else { - _TraceLog(0,4454,$vararg_buffer8); - $55 = HEAP32[7758]|0; - $56 = HEAP32[7759]|0; + _TraceLog(0,4222,$vararg_buffer8); + $55 = HEAP32[7799]|0; + $56 = HEAP32[7800]|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; + _TraceLog(0,4262,$vararg_buffer10); + $57 = HEAP32[7758]|0; + $58 = HEAP32[7757]|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; + _TraceLog(0,4283,$vararg_buffer14); + $59 = HEAP32[7801]|0; + $60 = HEAP32[7802]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,4536,$vararg_buffer18); + _TraceLog(0,4304,$vararg_buffer18); } - $61 = HEAP32[7715]|0; + $61 = HEAP32[7756]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[7715]|0; + $62 = HEAP32[7756]|0; (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); - $63 = HEAP32[7715]|0; + $63 = HEAP32[7756]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[7715]|0; + $64 = HEAP32[7756]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[7715]|0; + $65 = HEAP32[7756]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[7715]|0; + $66 = HEAP32[7756]|0; (_glfwSetCharCallback(($66|0),(3|0))|0); - $67 = HEAP32[7715]|0; + $67 = HEAP32[7756]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[7715]|0; + $68 = HEAP32[7756]|0; (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); - $69 = HEAP32[7715]|0; + $69 = HEAP32[7756]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[33680]|0; + $70 = HEAP8[35996]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[7717]|0; - $74 = HEAP32[7716]|0; + $73 = HEAP32[7758]|0; + $74 = HEAP32[7757]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[7758]|0; - $76 = HEAP32[7760]|0; + $75 = HEAP32[7799]|0; + $76 = HEAP32[7801]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[7759]|0; - $80 = HEAP32[7761]|0; + $79 = HEAP32[7800]|0; + $80 = HEAP32[7802]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12982,19 +17206,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,4561,$vararg_buffer22); - $73 = HEAP32[7717]|0; - $74 = HEAP32[7716]|0; + _TraceLog(0,4329,$vararg_buffer22); + $73 = HEAP32[7758]|0; + $74 = HEAP32[7757]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[7758]|0; - $76 = HEAP32[7760]|0; + $75 = HEAP32[7799]|0; + $76 = HEAP32[7801]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[7759]|0; - $80 = HEAP32[7761]|0; + $79 = HEAP32[7800]|0; + $80 = HEAP32[7802]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13022,12 +17246,12 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(30924)>>2] = 224; + HEAP32[(31088)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; while(1) { - $3 = (16 + ($$095104<<2)|0); + $3 = (28 + ($$095104<<2)|0); $4 = HEAP32[$3>>2]|0; $$097102 = 31; while(1) { @@ -13063,27 +17287,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[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[31064>>2]=HEAP32[$1>>2]|0;HEAP32[31064+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[31064+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[31064+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[31064+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; + $5 = HEAP32[(31088)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(30928)>>2] = $7; + HEAP32[(31092)>>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[(31084)>>2] = $23; + $24 = HEAP32[7766]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3856,$vararg_buffer); + _TraceLog(0,3624,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(30904)>>2]|0; - $10 = HEAP32[(30924)>>2]|0; - $11 = HEAP32[(30928)>>2]|0; + $9 = HEAP32[(31068)>>2]|0; + $10 = HEAP32[(31088)>>2]|0; + $11 = HEAP32[(31092)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -13095,7 +17319,7 @@ function _LoadDefaultFont() { $30 = (($29) + 1)|0; $31 = (((($27) + ($$0101<<5)|0)) + 8|0); HEAP32[$31>>2] = $30; - $32 = (2064 + ($$0101<<2)|0); + $32 = (2076 + ($$0101<<2)|0); $33 = HEAP32[$32>>2]|0; $34 = (((($27) + ($$0101<<5)|0)) + 12|0); HEAP32[$34>>2] = $33; @@ -13132,19 +17356,19 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(30920)>>2] = $23; - $24 = HEAP32[7725]|0; + HEAP32[(31084)>>2] = $23; + $24 = HEAP32[7766]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3856,$vararg_buffer); + _TraceLog(0,3624,$vararg_buffer); STACKTOP = sp;return; } -function _InitTimer_10() { +function _InitTimer_12() { var $0 = 0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[1748] = $1; + HEAPF64[1767] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -13174,7 +17398,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr8>>2] = $10; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,3789,$vararg_buffer4); + _TraceLog(0,3557,$vararg_buffer4); STACKTOP = sp;return 0; } else { HEAP32[$vararg_buffer>>2] = $6; @@ -13184,7 +17408,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr2>>2] = $10; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,3720,$vararg_buffer); + _TraceLog(0,3488,$vararg_buffer); STACKTOP = sp;return 0; } return (0)|0; @@ -13200,7 +17424,7 @@ function _EmscriptenKeyboardCallback($0,$1,$2) { return 0; } $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,3713)|0); + $5 = (_strcmp($4,3481)|0); $6 = ($5|0)==(0); if (!($6)) { return 0; @@ -13303,7 +17527,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 13968; + $31 = 14120; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13316,7 +17540,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (13976); + $42 = (14128); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13372,7 +17596,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (30884 + ($10<<2)|0); + $11 = (31048 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13386,19 +17610,19 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[1745] = $$; + HEAPF64[1764] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; $6 = $1 ? 0.0 : $5; HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,3669,$vararg_buffer); + _TraceLog(0,3437,$vararg_buffer); STACKTOP = sp;return; } function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[7720] = 0; + HEAP32[7761] = 0; return; } function _GetTime() { @@ -13497,7 +17721,7 @@ function _ImageFormat($0,$1) { $6 = ($1|0)<(8); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,4232,$vararg_buffer); + _TraceLog(2,4000,$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; @@ -13974,52 +18198,52 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[7733]|0; + $6 = HEAP32[7774]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); $or$cond100 = $switch & $7; if ($or$cond100) { - _TraceLog(2,3901,$vararg_buffer); + _TraceLog(2,3669,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[7734]|0; + $9 = HEAP32[7775]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,3945,$vararg_buffer1); + _TraceLog(2,3713,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[7735]|0; + $12 = HEAP32[7776]|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); + _TraceLog(2,3758,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[7736]|0; + $15 = HEAP32[7777]|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); + _TraceLog(2,3803,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[7737]|0; + $18 = HEAP32[7778]|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); + _TraceLog(2,3848,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -14057,7 +18281,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[7733]|0; + $22 = HEAP32[7774]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -14065,7 +18289,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[7733]|0; + $24 = HEAP32[7774]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -14073,7 +18297,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[7733]|0; + $26 = HEAP32[7774]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -14081,7 +18305,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[7733]|0; + $28 = HEAP32[7774]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -14089,7 +18313,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[7734]|0; + $30 = HEAP32[7775]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -14097,7 +18321,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[7735]|0; + $32 = HEAP32[7776]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -14105,7 +18329,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[7735]|0; + $34 = HEAP32[7776]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -14113,7 +18337,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[7736]|0; + $36 = HEAP32[7777]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -14121,7 +18345,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[7736]|0; + $38 = HEAP32[7777]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -14129,7 +18353,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[7737]|0; + $40 = HEAP32[7778]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -14137,7 +18361,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[7737]|0; + $42 = HEAP32[7778]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -14145,11 +18369,11 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } default: { - _TraceLog(2,4125,$vararg_buffer9); + _TraceLog(2,3893,$vararg_buffer9); } } } while(0); - $44 = HEAP32[7738]|0; + $44 = HEAP32[7779]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -14164,7 +18388,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,4203,$vararg_buffer15); + _TraceLog(2,3971,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -14173,7 +18397,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,4154,$vararg_buffer11); + _TraceLog(0,3922,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -14447,7 +18671,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,4286,$vararg_buffer); + _TraceLog(2,4054,$vararg_buffer); $$1 = $$0106; } } @@ -14474,7 +18698,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,8152,$vararg_buffer); + _TraceLog(2,7920,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -14495,20 +18719,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[7717]|0; + $3 = HEAP32[7758]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[7716]|0; + $5 = HEAP32[7757]|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; + HEAP32[7799] = $3; + HEAP32[7800] = $5; + HEAP32[7801] = 0; + HEAP32[7802] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14518,13 +18742,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,8086,$vararg_buffer8); + _TraceLog(0,7854,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[7717]|0; + $35 = HEAP32[7758]|0; $36 = (+($35|0)); - $37 = HEAP32[7716]|0; + $37 = HEAP32[7757]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14532,26 +18756,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[7758] = $45; - HEAP32[7759] = $37; + HEAP32[7799] = $45; + HEAP32[7800] = $37; $46 = (($45) - ($35))|0; - HEAP32[7760] = $46; + HEAP32[7801] = $46; $$sink1 = 0; } else { - HEAP32[7758] = $35; + HEAP32[7799] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[7759] = $42; - HEAP32[7760] = 0; + HEAP32[7800] = $42; + HEAP32[7801] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[7761] = $$sink1; + HEAP32[7802] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[7716]|0; + $7 = HEAP32[7757]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14559,13 +18783,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,7943,$vararg_buffer); + _TraceLog(2,7711,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[7717]|0; + $9 = HEAP32[7758]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[7716]|0; + $13 = HEAP32[7757]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14573,37 +18797,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[7758] = $23; - HEAP32[7759] = $1; + HEAP32[7799] = $23; + HEAP32[7800] = $1; $24 = (($0) - ($23))|0; - HEAP32[7760] = $24; + HEAP32[7801] = $24; $$sink = 0; } else { - HEAP32[7758] = $0; - $17 = HEAP32[7716]|0; + HEAP32[7799] = $0; + $17 = HEAP32[7757]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[7759] = $20; - HEAP32[7760] = 0; + HEAP32[7800] = $20; + HEAP32[7801] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[7761] = $$sink; - $25 = HEAP32[7758]|0; + HEAP32[7802] = $$sink; + $25 = HEAP32[7799]|0; $26 = (+($25|0)); - $27 = HEAP32[7717]|0; + $27 = HEAP32[7758]|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; + dest=31120; 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[7799] = $0; + HEAP32[7800] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,8021,$vararg_buffer4); + _TraceLog(2,7789,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -14621,10 +18845,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[7717] = $1; - HEAP32[7716] = $2; HEAP32[7758] = $1; - HEAP32[7759] = $2; + HEAP32[7757] = $2; + HEAP32[7799] = $1; + HEAP32[7800] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -14642,7 +18866,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { $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; + $5 = HEAP32[744]|0; $6 = ($5|0)==($1|0); $7 = ($3|0)==(1); $or$cond = $7 & $6; @@ -14651,12 +18875,12 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (33687 + ($1)|0); + $9 = (36003 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; } - HEAP32[740] = $1; + HEAP32[743] = $1; return; } function _MouseButtonCallback($0,$1,$2,$3) { @@ -14672,7 +18896,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (33681 + ($1)|0); + $7 = (35997 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -14751,7 +18975,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 13968; + $15 = 14120; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -14776,7 +19000,7 @@ function _CharCallback($0,$1) { $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[740] = $1; + HEAP32[743] = $1; return; } function _ScrollCallback($0,$1,$2) { @@ -14786,7 +19010,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[8131] = $3; + HEAP32[8172] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -14796,7 +19020,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[8130] = $$sink; + HEAP32[8171] = $$sink; return; } function _rlglInit($0,$1) { @@ -14836,16 +19060,16 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,4584,$vararg_buffer); + _TraceLog(0,4352,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,4602,$vararg_buffer1); + _TraceLog(0,4370,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,4620,$vararg_buffer4); + _TraceLog(0,4388,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,4638,$vararg_buffer7); + _TraceLog(0,4406,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; @@ -14853,7 +19077,7 @@ function _rlglInit($0,$1) { _memcpy(($14|0),($11|0),($13|0))|0; $$062 = 0;$$sink63 = $14; while(1) { - $15 = (_strtok($$sink63,4656)|0); + $15 = (_strtok($$sink63,4424)|0); $16 = (($vararg_buffer7) + ($$062<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); @@ -14867,41 +19091,41 @@ function _rlglInit($0,$1) { _free($14); $19 = (($$062) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,4658,$vararg_buffer10); + _TraceLog(0,4426,$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); + $25 = (_strcmp($24,4461)|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); + HEAP32[7837] = 1; + $27 = (_eglGetProcAddress((4488|0))|0); + HEAP32[7838] = $27; + $28 = (_eglGetProcAddress((4509|0))|0); + HEAP32[7839] = $28; + $29 = (_eglGetProcAddress((4530|0))|0); + HEAP32[7840] = $29; + } + $30 = (_strcmp($24,4554)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[7738] = 1; + HEAP32[7779] = 1; } - $32 = (_strcmp($24,4806)|0); + $32 = (_strcmp($24,4574)|0); $33 = ($32|0)==(0); if ($33) { label = 12; } else { $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,4838)|0); + $35 = (_strcmp($34,4606)|0); $36 = ($35|0)==(0); if ($36) { label = 12; } else { - $37 = (_strcmp($34,4871)|0); + $37 = (_strcmp($34,4639)|0); $38 = ($37|0)==(0); if ($38) { label = 12; @@ -14910,15 +19134,15 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[7733] = 1; + HEAP32[7774] = 1; } - $39 = (_strcmp($24,4911)|0); + $39 = (_strcmp($24,4679)|0); $40 = ($39|0)==(0); if ($40) { label = 15; } else { $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,4947)|0); + $42 = (_strcmp($41,4715)|0); $43 = ($42|0)==(0); if ($43) { label = 15; @@ -14926,35 +19150,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[7734] = 1; + HEAP32[7775] = 1; } $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,4980)|0); + $45 = (_strcmp($44,4748)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[7735] = 1; + HEAP32[7776] = 1; } - $47 = (_strcmp($44,5005)|0); + $47 = (_strcmp($44,4773)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[7736] = 1; + HEAP32[7777] = 1; } - $49 = (_strcmp($44,5038)|0); + $49 = (_strcmp($44,4806)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[7737] = 1; + HEAP32[7778] = 1; } - $51 = (_strcmp($44,5074)|0); + $51 = (_strcmp($44,4842)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[7800] = 1; - _glGetFloatv(34047,(31204|0)); + HEAP32[7841] = 1; + _glGetFloatv(34047,(31368|0)); } $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,5108)|0); + $54 = (_strcmp($53,4876)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[7802] = 1; + HEAP32[7843] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14965,77 +19189,77 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[7796]|0; + $21 = HEAP32[7837]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,5211,$vararg_buffer15); + _TraceLog(2,4979,$vararg_buffer15); } else { - _TraceLog(0,5136,$vararg_buffer13); + _TraceLog(0,4904,$vararg_buffer13); } - $57 = HEAP32[7738]|0; + $57 = HEAP32[7779]|0; $58 = ($57|0)==(0); if ($58) { - _TraceLog(2,5347,$vararg_buffer19); + _TraceLog(2,5115,$vararg_buffer19); } else { - _TraceLog(0,5272,$vararg_buffer17); + _TraceLog(0,5040,$vararg_buffer17); } - $59 = HEAP32[7733]|0; + $59 = HEAP32[7774]|0; $60 = ($59|0)==(0); if (!($60)) { - _TraceLog(0,5439,$vararg_buffer21); + _TraceLog(0,5207,$vararg_buffer21); } - $61 = HEAP32[7734]|0; + $61 = HEAP32[7775]|0; $62 = ($61|0)==(0); if (!($62)) { - _TraceLog(0,5485,$vararg_buffer23); + _TraceLog(0,5253,$vararg_buffer23); } - $63 = HEAP32[7735]|0; + $63 = HEAP32[7776]|0; $64 = ($63|0)==(0); if (!($64)) { - _TraceLog(0,5532,$vararg_buffer25); + _TraceLog(0,5300,$vararg_buffer25); } - $65 = HEAP32[7736]|0; + $65 = HEAP32[7777]|0; $66 = ($65|0)==(0); if (!($66)) { - _TraceLog(0,5583,$vararg_buffer27); + _TraceLog(0,5351,$vararg_buffer27); } - $67 = HEAP32[7737]|0; + $67 = HEAP32[7778]|0; $68 = ($67|0)==(0); if (!($68)) { - _TraceLog(0,5630,$vararg_buffer29); + _TraceLog(0,5398,$vararg_buffer29); } - $69 = HEAP32[7800]|0; + $69 = HEAP32[7841]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[7801]; + $71 = +HEAPF32[7842]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,5677,$vararg_buffer31); + _TraceLog(0,5445,$vararg_buffer31); } - $73 = HEAP32[7802]|0; + $73 = HEAP32[7843]|0; $74 = ($73|0)==(0); if (!($74)) { - _TraceLog(0,5743,$vararg_buffer34); + _TraceLog(0,5511,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[7803] = $75; + HEAP32[7844] = $75; $76 = ($75|0)==(0); if ($76) { - _TraceLog(2,5847,$vararg_buffer39); + _TraceLog(2,5615,$vararg_buffer39); } else { HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,5796,$vararg_buffer36); + _TraceLog(0,5564,$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)); + dest=31380; 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=31436; 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; + HEAP32[7873] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[7832]|0; + $79 = HEAP32[7873]|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; @@ -15048,7 +19272,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[7833] = $78; + HEAP32[7874] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -15063,48 +19287,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[7834] = 1; - $85 = HEAP32[7803]|0; + HEAP32[7875] = 1; + $85 = HEAP32[7844]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[7835] = 4; + HEAP32[7876] = 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)); + dest=31508; src=$4; stop=dest+64|0; 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)); + dest=(31572); src=$4; stop=dest+64|0; 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)); + dest=(31636); src=$4; stop=dest+64|0; 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)); + dest=(31700); src=$4; stop=dest+64|0; 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)); + dest=(31764); src=$4; stop=dest+64|0; 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)); + dest=(31828); src=$4; stop=dest+64|0; 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)); + dest=(31892); src=$4; stop=dest+64|0; 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)); + dest=(31956); src=$4; stop=dest+64|0; 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)); + dest=(32020); src=$4; stop=dest+64|0; 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)); + dest=(32084); src=$4; stop=dest+64|0; 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)); + dest=(32148); src=$4; stop=dest+64|0; 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)); + dest=(32212); src=$4; stop=dest+64|0; 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)); + dest=(32276); src=$4; stop=dest+64|0; 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)); + dest=(32340); src=$4; stop=dest+64|0; 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)); + dest=(32404); src=$4; stop=dest+64|0; 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)); + dest=(32468); src=$4; stop=dest+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)); + dest=31216; 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; + dest=31280; 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[7803] = 31280; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -15115,21 +19339,21 @@ function _rlglInit($0,$1) { _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); + HEAP32[8133] = $0; + HEAP32[8134] = $1; + _TraceLog(0,5654,$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; + $0 = HEAP32[7801]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[7761]|0; + $2 = HEAP32[7802]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[7758]|0; + $4 = HEAP32[7799]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[7759]|0; + $6 = HEAP32[7800]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -15140,12 +19364,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 31052; + $modelview$sink = 31216; label = 3; break; } case 5888: { - $modelview$sink = 31116; + $modelview$sink = 31280; label = 3; break; } @@ -15153,9 +19377,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[7762] = $modelview$sink; + HEAP32[7803] = $modelview$sink; } - HEAP32[7795] = $0; + HEAP32[7836] = $0; return; } function _rlLoadIdentity() { @@ -15163,7 +19387,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[7762]|0; + $1 = HEAP32[7803]|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; @@ -15184,7 +19408,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[7762]|0; + $8 = HEAP32[7803]|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); @@ -15243,17 +19467,17 @@ function _LoadDefaultShader($0) { $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; + _memcpy(($2|0),(6230|0),489)|0; + _memcpy(($3|0),(6719|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); + _TraceLog(2,7208,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,7392,$vararg_buffer); + _TraceLog(0,7160,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -15281,15 +19505,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(32388)>>2] = $0; + HEAP32[(32552)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(32396)>>2] = $1; - HEAP32[(32392)>>2] = 0; - HEAP32[(32400)>>2] = 0; + HEAP32[(32560)>>2] = $1; + HEAP32[(32556)>>2] = 0; + HEAP32[(32564)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(32396)>>2]|0; + $2 = HEAP32[(32560)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15300,19 +19524,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[8094] = 0; - HEAP32[(32384)>>2] = 0; - HEAP32[(32380)>>2] = 0; + HEAP32[8135] = 0; + HEAP32[(32548)>>2] = 0; + HEAP32[(32544)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(32436)>>2] = $5; + HEAP32[(32600)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(32444)>>2] = $6; - HEAP32[(32440)>>2] = 0; - HEAP32[(32448)>>2] = 0; + HEAP32[(32608)>>2] = $6; + HEAP32[(32604)>>2] = 0; + HEAP32[(32612)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(32444)>>2]|0; + $7 = HEAP32[(32608)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15323,24 +19547,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[8106] = 0; - HEAP32[(32432)>>2] = 0; - HEAP32[(32428)>>2] = 0; + HEAP32[8147] = 0; + HEAP32[(32596)>>2] = 0; + HEAP32[(32592)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(32484)>>2] = $10; + HEAP32[(32648)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(32488)>>2] = $11; + HEAP32[(32652)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(32492)>>2] = $12; + HEAP32[(32656)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(32496)>>2] = $13; - $14 = HEAP32[(32484)>>2]|0; + HEAP32[(32660)>>2] = $13; + $14 = HEAP32[(32648)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(32488)>>2]|0; + $15 = HEAP32[(32652)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(32492)>>2]|0; + $17 = HEAP32[(32656)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15351,7 +19575,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(32496)>>2]|0; + $16 = HEAP32[(32660)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15388,140 +19612,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[8118] = 0; - HEAP32[(32476)>>2] = 0; - HEAP32[(32480)>>2] = 0; - _TraceLog(0,5933,$vararg_buffer); - $20 = HEAP32[7796]|0; + HEAP32[8159] = 0; + HEAP32[(32640)>>2] = 0; + HEAP32[(32644)>>2] = 0; + _TraceLog(0,5701,$vararg_buffer); + $20 = HEAP32[7837]|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; + $43 = HEAP32[7838]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(32568)); + $44 = HEAP32[7839]|0; + $45 = HEAP32[(32568)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((32408)|0)); - $46 = HEAP32[(32408)>>2]|0; + _glGenBuffers(2,((32572)|0)); + $46 = HEAP32[(32572)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(32388)>>2]|0; + $47 = HEAP32[(32552)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(31276)>>2]|0; + $48 = HEAP32[(31440)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(31276)>>2]|0; + $49 = HEAP32[(31440)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((32412)|0)); - $50 = HEAP32[(32412)>>2]|0; + _glGenBuffers(2,((32576)|0)); + $50 = HEAP32[(32576)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(32396)>>2]|0; + $51 = HEAP32[(32560)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(31296)>>2]|0; + $52 = HEAP32[(31460)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(31296)>>2]|0; + $53 = HEAP32[(31460)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[7796]|0; + $54 = HEAP32[7837]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(32408)>>2]|0; - $58 = HEAP32[(32412)>>2]|0; + $57 = HEAP32[(32572)>>2]|0; + $58 = HEAP32[(32576)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,6071,$vararg_buffer3); + _TraceLog(0,5839,$vararg_buffer3); } else { - $56 = HEAP32[(32404)>>2]|0; + $56 = HEAP32[(32568)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,6006,$vararg_buffer1); + _TraceLog(0,5774,$vararg_buffer1); } - $59 = HEAP32[7796]|0; + $59 = HEAP32[7837]|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; + $61 = HEAP32[7838]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(32616)); + $62 = HEAP32[7839]|0; + $63 = HEAP32[(32616)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((32456)|0)); - $64 = HEAP32[(32456)>>2]|0; + _glGenBuffers(1,((32620)|0)); + $64 = HEAP32[(32620)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(32436)>>2]|0; + $65 = HEAP32[(32600)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(31276)>>2]|0; + $66 = HEAP32[(31440)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(31276)>>2]|0; + $67 = HEAP32[(31440)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((32460)|0)); - $68 = HEAP32[(32460)>>2]|0; + _glGenBuffers(1,((32624)|0)); + $68 = HEAP32[(32624)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(32444)>>2]|0; + $69 = HEAP32[(32608)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(31296)>>2]|0; + $70 = HEAP32[(31460)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(31296)>>2]|0; + $71 = HEAP32[(31460)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[7796]|0; + $72 = HEAP32[7837]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(32456)>>2]|0; - $76 = HEAP32[(32460)>>2]|0; + $75 = HEAP32[(32620)>>2]|0; + $76 = HEAP32[(32624)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,6217,$vararg_buffer10); + _TraceLog(0,5985,$vararg_buffer10); } else { - $74 = HEAP32[(32452)>>2]|0; + $74 = HEAP32[(32616)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,6148,$vararg_buffer7); + _TraceLog(0,5916,$vararg_buffer7); } - $77 = HEAP32[7796]|0; + $77 = HEAP32[7837]|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; + $79 = HEAP32[7838]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(32664)); + $80 = HEAP32[7839]|0; + $81 = HEAP32[(32664)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((32504)|0)); - $82 = HEAP32[(32504)>>2]|0; + _glGenBuffers(1,((32668)|0)); + $82 = HEAP32[(32668)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(32484)>>2]|0; + $83 = HEAP32[(32648)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(31276)>>2]|0; + $84 = HEAP32[(31440)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(31276)>>2]|0; + $85 = HEAP32[(31440)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((32508)|0)); - $86 = HEAP32[(32508)>>2]|0; + _glGenBuffers(1,((32672)|0)); + $86 = HEAP32[(32672)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(32488)>>2]|0; + $87 = HEAP32[(32652)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(31280)>>2]|0; + $88 = HEAP32[(31444)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(31280)>>2]|0; + $89 = HEAP32[(31444)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((32512)|0)); - $90 = HEAP32[(32512)>>2]|0; + _glGenBuffers(1,((32676)|0)); + $90 = HEAP32[(32676)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(32492)>>2]|0; + $91 = HEAP32[(32656)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(31296)>>2]|0; + $92 = HEAP32[(31460)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(31296)>>2]|0; + $93 = HEAP32[(31460)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((32516)|0)); - $94 = HEAP32[(32516)>>2]|0; + _glGenBuffers(1,((32680)|0)); + $94 = HEAP32[(32680)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(32496)>>2]|0; + $95 = HEAP32[(32660)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[7796]|0; + $96 = HEAP32[7837]|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; + $99 = HEAP32[(32668)>>2]|0; + $100 = HEAP32[(32672)>>2]|0; + $101 = HEAP32[(32676)>>2]|0; + $102 = HEAP32[(32680)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15529,18 +19753,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,6363,$vararg_buffer17); + _TraceLog(0,6131,$vararg_buffer17); } else { - $98 = HEAP32[(32500)>>2]|0; + $98 = HEAP32[(32664)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,6298,$vararg_buffer14); + _TraceLog(0,6066,$vararg_buffer14); } - $103 = HEAP32[7796]|0; + $103 = HEAP32[7837]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[7798]|0; + $105 = HEAP32[7839]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -15577,10 +19801,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,7696,$vararg_buffer4); + _TraceLog(0,7464,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,7644,$vararg_buffer); + _TraceLog(2,7412,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -15590,7 +19814,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,7693,$vararg_buffer1); + _TraceLog(0,7461,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -15599,10 +19823,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,7797,$vararg_buffer13); + _TraceLog(0,7565,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,7746,$vararg_buffer7); + _TraceLog(2,7514,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -15612,25 +19836,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,7693,$vararg_buffer10); + _TraceLog(0,7461,$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)); + _glBindAttribLocation(($20|0),0,(7256|0)); + _glBindAttribLocation(($20|0),1,(7271|0)); + _glBindAttribLocation(($20|0),2,(7302|0)); + _glBindAttribLocation(($20|0),3,(7329|0)); + _glBindAttribLocation(($20|0),4,(7315|0)); + _glBindAttribLocation(($20|0),5,(7286|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); + _TraceLog(2,7617,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -15640,7 +19864,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,7693,$vararg_buffer19); + _TraceLog(0,7461,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -15649,7 +19873,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,7895,$vararg_buffer22); + _TraceLog(0,7663,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -15664,55 +19888,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(7488|0))|0); + $2 = (_glGetAttribLocation(($1|0),(7256|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(7503|0))|0); + $5 = (_glGetAttribLocation(($4|0),(7271|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(7518|0))|0); + $8 = (_glGetAttribLocation(($7|0),(7286|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(7534|0))|0); + $11 = (_glGetAttribLocation(($10|0),(7302|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(7547|0))|0); + $14 = (_glGetAttribLocation(($13|0),(7315|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(7561|0))|0); + $17 = (_glGetAttribLocation(($16|0),(7329|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(7573|0))|0); + $20 = (_glGetUniformLocation(($19|0),(7341|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(7583|0))|0); + $23 = (_glGetUniformLocation(($22|0),(7351|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(7594|0))|0); + $26 = (_glGetUniformLocation(($25|0),(7362|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(7605|0))|0); + $29 = (_glGetUniformLocation(($28|0),(7373|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(7617|0))|0); + $32 = (_glGetUniformLocation(($31|0),(7385|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(7626|0))|0); + $35 = (_glGetUniformLocation(($34|0),(7394|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(7635|0))|0); + $38 = (_glGetUniformLocation(($37|0),(7403|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -15721,9 +19945,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 = (33681 + ($0)|0); + $1 = (35997 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (33684 + ($0)|0); + $3 = (36000 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15735,9 +19959,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 = (33681 + ($0)|0); + $1 = (35997 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (33684 + ($0)|0); + $3 = (36000 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -15758,10 +19982,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[7715]|0; + $0 = HEAP32[7756]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,8207,$vararg_buffer); + _TraceLog(0,7975,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -15769,9 +19993,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[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; + ;HEAP32[$$byval_copy>>2]=HEAP32[31064>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[31064+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[31064+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[31064+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[31064+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(30928)>>2]|0; + $0 = HEAP32[(31092)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -15782,11 +20006,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(31212|0)); - $0 = HEAP32[7803]|0; + _glDeleteTextures(1,(31376|0)); + $0 = HEAP32[7844]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,8234,$vararg_buffer); - $1 = HEAP32[7833]|0; + _TraceLog(0,8002,$vararg_buffer); + $1 = HEAP32[7874]|0; _free($1); STACKTOP = sp;return; } @@ -15794,17 +20018,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[7804]|0; + $0 = HEAP32[7845]|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; + $0 = HEAP32[7837]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[7798]|0; + $2 = HEAP32[7839]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -15813,39 +20037,39 @@ function _UnloadDefaultBuffers() { _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; + _glDeleteBuffers(1,((32572)|0)); + _glDeleteBuffers(1,((32576)|0)); + _glDeleteBuffers(1,((32620)|0)); + _glDeleteBuffers(1,((32624)|0)); + _glDeleteBuffers(1,((32668)|0)); + _glDeleteBuffers(1,((32672)|0)); + _glDeleteBuffers(1,((32676)|0)); + _glDeleteBuffers(1,((32680)|0)); + $3 = HEAP32[7837]|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; + $5 = HEAP32[7840]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(32568)); + $6 = HEAP32[7840]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(32616)); + $7 = HEAP32[7840]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(32664)); + } + $8 = HEAP32[(32552)>>2]|0; _free($8); - $9 = HEAP32[(32396)>>2]|0; + $9 = HEAP32[(32560)>>2]|0; _free($9); - $10 = HEAP32[(32436)>>2]|0; + $10 = HEAP32[(32600)>>2]|0; _free($10); - $11 = HEAP32[(32444)>>2]|0; + $11 = HEAP32[(32608)>>2]|0; _free($11); - $12 = HEAP32[(32484)>>2]|0; + $12 = HEAP32[(32648)>>2]|0; _free($12); - $13 = HEAP32[(32488)>>2]|0; + $13 = HEAP32[(32652)>>2]|0; _free($13); - $14 = HEAP32[(32492)>>2]|0; + $14 = HEAP32[(32656)>>2]|0; _free($14); - $15 = HEAP32[(32496)>>2]|0; + $15 = HEAP32[(32660)>>2]|0; _free($15); return; } @@ -15863,7 +20087,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,8299,$vararg_buffer); + _TraceLog(0,8067,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -15879,41 +20103,22 @@ function _rlDeleteTextures($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]; + HEAPF64[1784] = $0; + $1 = +HEAPF64[1767]; $2 = $0 - $1; - HEAPF64[1766] = $2; - HEAPF64[1748] = $0; + HEAPF64[1785] = $2; + HEAPF64[1767] = $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)); + dest=$downscaleView$byval_copy; src=31120; stop=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); + _rlMultMatrixf(32692); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15922,53 +20127,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[8132] = $1; + HEAP32[8173] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(32532)>>2] = $3; + HEAP32[(32696)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(32536)>>2] = $5; + HEAP32[(32700)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(32540)>>2] = $7; + HEAP32[(32704)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(32544)>>2] = $9; + HEAP32[(32708)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(32548)>>2] = $11; + HEAP32[(32712)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(32552)>>2] = $13; + HEAP32[(32716)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(32556)>>2] = $15; + HEAP32[(32720)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(32560)>>2] = $17; + HEAP32[(32724)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(32564)>>2] = $19; + HEAP32[(32728)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(32568)>>2] = $21; + HEAP32[(32732)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(32572)>>2] = $23; + HEAP32[(32736)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(32576)>>2] = $25; + HEAP32[(32740)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(32580)>>2] = $27; + HEAP32[(32744)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(32584)>>2] = $29; + HEAP32[(32748)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(32588)>>2] = $31; - return (32528|0); + HEAP32[(32752)>>2] = $31; + return (32692|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -16043,7 +20248,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[7762]|0; + $49 = HEAP32[7803]|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); @@ -16057,15 +20262,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[1765] = $0; - $1 = +HEAPF64[1748]; + HEAPF64[1784] = $0; + $1 = +HEAPF64[1767]; $2 = $0 - $1; - HEAPF64[1767] = $2; - HEAPF64[1748] = $0; - $3 = +HEAPF64[1766]; + HEAPF64[1786] = $2; + HEAPF64[1767] = $0; + $3 = +HEAPF64[1785]; $4 = $2 + $3; - HEAPF64[1768] = $4; - $5 = +HEAPF64[1745]; + HEAPF64[1787] = $4; + $5 = +HEAPF64[1764]; $6 = $4 < $5; if (!($6)) { return; @@ -16075,13 +20280,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[1765] = $10; - $11 = +HEAPF64[1748]; + HEAPF64[1784] = $10; + $11 = +HEAPF64[1767]; $12 = $10 - $11; - HEAPF64[1748] = $10; - $13 = +HEAPF64[1768]; + HEAPF64[1767] = $10; + $13 = +HEAPF64[1787]; $14 = $12 + $13; - HEAPF64[1768] = $14; + HEAPF64[1787] = $14; return; } function _rlglDraw() { @@ -16094,7 +20299,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[7715]|0; + $0 = HEAP32[7756]|0; _glfwSwapBuffers(($0|0)); return; } @@ -16108,22 +20313,22 @@ function _PollInputEvents() { $1 = sp + 1432|0; $2 = sp; _UpdateGestures(); - HEAP32[740] = -1; - HEAP32[742] = -1; - HEAP32[8148] = 0; - $3 = HEAP32[7715]|0; + HEAP32[743] = -1; + HEAP32[745] = -1; + HEAP32[8189] = 0; + $3 = HEAP32[7756]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[3488] = $5; + HEAPF32[3526] = $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; + HEAPF32[(14108)>>2] = $7; + _memcpy((36515|0),(36003|0),512)|0; + ;HEAP8[36000>>0]=HEAP8[35997>>0]|0;HEAP8[36000+1>>0]=HEAP8[35997+1>>0]|0;HEAP8[36000+2>>0]=HEAP8[35997+2>>0]|0; + $8 = HEAP32[8172]|0; + HEAP32[7759] = $8; + HEAP32[8172] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -16133,8 +20338,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (34711 + ($$05160<<5)|0); - $scevgep67 = (34839 + ($$05160<<5)|0); + $scevgep = (37027 + ($$05160<<5)|0); + $scevgep67 = (37155 + ($$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); @@ -16148,10 +20353,10 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((34839 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((37155 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; - HEAP32[742] = $$04857; + HEAP32[745] = $$04857; } else { HEAP8[$24>>0] = 0; } @@ -16175,7 +20380,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((32596 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((32760 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -16191,7 +20396,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[8148] = $$lcssa; + HEAP32[8189] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -16232,87 +20437,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[8094]|0; + $0 = HEAP32[8135]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[7796]|0; + $2 = HEAP32[7837]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[7798]|0; - $5 = HEAP32[(32404)>>2]|0; + $4 = HEAP32[7839]|0; + $5 = HEAP32[(32568)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(32408)>>2]|0; + $6 = HEAP32[(32572)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[8094]|0; + $7 = HEAP32[8135]|0; $8 = ($7*12)|0; - $9 = HEAP32[(32388)>>2]|0; + $9 = HEAP32[(32552)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(32412)>>2]|0; + $10 = HEAP32[(32576)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(32384)>>2]|0; + $11 = HEAP32[(32548)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(32396)>>2]|0; + $13 = HEAP32[(32560)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[8106]|0; + $14 = HEAP32[8147]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[7796]|0; + $16 = HEAP32[7837]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[7798]|0; - $19 = HEAP32[(32452)>>2]|0; + $18 = HEAP32[7839]|0; + $19 = HEAP32[(32616)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(32456)>>2]|0; + $20 = HEAP32[(32620)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[8106]|0; + $21 = HEAP32[8147]|0; $22 = ($21*12)|0; - $23 = HEAP32[(32436)>>2]|0; + $23 = HEAP32[(32600)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(32460)>>2]|0; + $24 = HEAP32[(32624)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(32432)>>2]|0; + $25 = HEAP32[(32596)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(32444)>>2]|0; + $27 = HEAP32[(32608)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[8118]|0; + $28 = HEAP32[8159]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[7796]|0; + $30 = HEAP32[7837]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[7798]|0; - $33 = HEAP32[(32500)>>2]|0; + $32 = HEAP32[7839]|0; + $33 = HEAP32[(32664)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(32504)>>2]|0; + $34 = HEAP32[(32668)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[8118]|0; + $35 = HEAP32[8159]|0; $36 = ($35*12)|0; - $37 = HEAP32[(32484)>>2]|0; + $37 = HEAP32[(32648)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(32508)>>2]|0; + $38 = HEAP32[(32672)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[8118]|0; + $39 = HEAP32[8159]|0; $40 = $39 << 3; - $41 = HEAP32[(32488)>>2]|0; + $41 = HEAP32[(32652)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(32512)>>2]|0; + $42 = HEAP32[(32676)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[8118]|0; + $43 = HEAP32[8159]|0; $44 = $43 << 2; - $45 = HEAP32[(32492)>>2]|0; + $45 = HEAP32[(32656)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[7796]|0; + $46 = HEAP32[7837]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[7798]|0; + $48 = HEAP32[7839]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16330,9 +20535,9 @@ function _DrawDefaultBuffers() { $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; + dest=$0; src=31216; stop=dest+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=31280; stop=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[8222]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16342,134 +20547,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[8094]|0; + $8 = HEAP32[8135]|0; $9 = ($8|0)>(0); - $10 = HEAP32[8106]|0; + $10 = HEAP32[8147]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[8118]|0; + $12 = HEAP32[8159]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[7818]|0; + $14 = HEAP32[7859]|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)); + dest=$modelview$byval_copy; src=31280; stop=dest+64|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=31216; stop=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; + $15 = HEAP32[(31464)>>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; + $17 = HEAP32[(31468)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(31316)>>2]|0; + $18 = HEAP32[(31480)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[8094]|0; + $19 = HEAP32[8135]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[7803]|0; + $21 = HEAP32[7844]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[7796]|0; + $22 = HEAP32[7837]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(32408)>>2]|0; + $26 = HEAP32[(32572)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(31276)>>2]|0; + $27 = HEAP32[(31440)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(31276)>>2]|0; + $28 = HEAP32[(31440)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(32412)>>2]|0; + $29 = HEAP32[(32576)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(31296)>>2]|0; + $30 = HEAP32[(31460)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(31296)>>2]|0; + $31 = HEAP32[(31460)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[7798]|0; - $25 = HEAP32[(32404)>>2]|0; + $24 = HEAP32[7839]|0; + $25 = HEAP32[(32568)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[8094]|0; + $32 = HEAP32[8135]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[7796]|0; + $33 = HEAP32[7837]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[8106]|0; + $35 = HEAP32[8147]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[7803]|0; + $37 = HEAP32[7844]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[7796]|0; + $38 = HEAP32[7837]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(32456)>>2]|0; + $42 = HEAP32[(32620)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(31276)>>2]|0; + $43 = HEAP32[(31440)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(31276)>>2]|0; + $44 = HEAP32[(31440)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(32460)>>2]|0; + $45 = HEAP32[(32624)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(31296)>>2]|0; + $46 = HEAP32[(31460)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(31296)>>2]|0; + $47 = HEAP32[(31460)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[7798]|0; - $41 = HEAP32[(32452)>>2]|0; + $40 = HEAP32[7839]|0; + $41 = HEAP32[(32616)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[8106]|0; + $48 = HEAP32[8147]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[7796]|0; + $49 = HEAP32[7837]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[8118]|0; + $51 = HEAP32[8159]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[7796]|0; + $53 = HEAP32[7837]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(32504)>>2]|0; + $57 = HEAP32[(32668)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(31276)>>2]|0; + $58 = HEAP32[(31440)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(31276)>>2]|0; + $59 = HEAP32[(31440)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(32508)>>2]|0; + $60 = HEAP32[(32672)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(31280)>>2]|0; + $61 = HEAP32[(31444)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(31280)>>2]|0; + $62 = HEAP32[(31444)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(32512)>>2]|0; + $63 = HEAP32[(32676)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(31296)>>2]|0; + $64 = HEAP32[(31460)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(31296)>>2]|0; + $65 = HEAP32[(31460)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(32516)>>2]|0; + $66 = HEAP32[(32680)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[7798]|0; - $56 = HEAP32[(32500)>>2]|0; + $55 = HEAP32[7839]|0; + $56 = HEAP32[(32664)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[7834]|0; + $67 = HEAP32[7875]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[7833]|0; + $71 = HEAP32[7874]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16480,14 +20685,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[7833]|0; + $80 = HEAP32[7874]|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; + $87 = HEAP32[7875]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16496,7 +20701,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[7796]|0; + $69 = HEAP32[7837]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16504,10 +20709,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[7796]|0; + $89 = HEAP32[7837]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[7798]|0; + $91 = HEAP32[7839]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16519,22 +20724,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[7834] = 1; - $5 = HEAP32[7803]|0; - $6 = HEAP32[7833]|0; + HEAP32[7875] = 1; + $5 = HEAP32[7844]|0; + $6 = HEAP32[7874]|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)); + HEAP32[8135] = 0; + HEAP32[(32548)>>2] = 0; + HEAP32[8147] = 0; + HEAP32[(32596)>>2] = 0; + HEAP32[8159] = 0; + HEAP32[(32640)>>2] = 0; + HEAP32[(32644)>>2] = 0; + HEAPF32[746] = -1.0; + dest=31216; 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=31280; 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) { @@ -16549,17 +20754,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[8092]|0; + $5 = HEAP32[8133]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[8093]|0; + $9 = HEAP32[8134]|0; _rlViewport($7,0,$8,$9); - $10 = (32956 + ($0<<6)|0); + $10 = (33120 + ($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); + $11 = (32992 + ($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); @@ -16571,14 +20776,14 @@ 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)); + dest=31280; 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)); + dest=31216; 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() { @@ -16586,43 +20791,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[8271]|0; + $0 = HEAP32[8312]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,8349,$vararg_buffer); + _TraceLog(1,8117,$vararg_buffer); } - $2 = HEAP32[8271]|0; - $3 = (31344 + ($2<<6)|0); - $4 = HEAP32[7762]|0; + $2 = HEAP32[8312]|0; + $3 = (31508 + ($2<<6)|0); + $4 = HEAP32[7803]|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; + $5 = HEAP32[8312]|0; $6 = (($5) + 1)|0; - HEAP32[8271] = $6; - $7 = HEAP32[7795]|0; + HEAP32[8312] = $6; + $7 = HEAP32[7836]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[8272] = 1; + HEAP32[8313] = 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; + $0 = HEAP32[8312]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[8271]|0; + $2 = HEAP32[8312]|0; $3 = (($2) + -1)|0; - $4 = (31344 + ($3<<6)|0); - $5 = HEAP32[7762]|0; + $4 = (31508 + ($3<<6)|0); + $5 = HEAP32[7803]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[8271] = $6; + HEAP32[8312] = $6; return; } function _GetFPS() { @@ -16636,7 +20841,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[1768]; + $0 = +HEAPF64[1787]; $1 = $0; return (+$1); } @@ -16662,28 +20867,28 @@ 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; + HEAP8[35996] = $0; $1 = $0 & 1; $2 = ($1<<24>>24)==(0); if (!($2)) { - HEAP32[7720] = 1; + HEAP32[7761] = 1; } - $3 = HEAP8[33680]|0; + $3 = HEAP8[35996]|0; $4 = $3 & 2; $5 = ($4<<24>>24)==(0); if ($5) { return; } - HEAP32[7757] = 1; + HEAP32[7798] = 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); + $1 = (36003 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (34199 + ($0)|0); + $3 = (36515 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16704,7 +20909,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[7762]|0; + $5 = HEAP32[7803]|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); @@ -16737,7 +20942,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[7762]|0; + $11 = HEAP32[7803]|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); @@ -16748,7 +20953,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[7835] = $0; + HEAP32[7876] = $0; return; } function _rlEnd() { @@ -16764,21 +20969,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[8272]|0; + $0 = HEAP32[8313]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[8273]|0; + $2 = HEAP32[8314]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[7832]|0; + $6 = HEAP32[7873]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[7762]|0; + $8 = HEAP32[7803]|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; + $5 = HEAP32[8314]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -16786,12 +20991,12 @@ function _rlEnd() { break; } } - HEAP32[8272] = 0; + HEAP32[8313] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[7832]|0; + $11 = HEAP32[7873]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -16800,7 +21005,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[8273]|0; + $19 = HEAP32[8314]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -16810,20 +21015,20 @@ function _rlEnd() { } } } else { - HEAP32[8272] = 0; + HEAP32[8313] = 0; } - HEAP32[8273] = 0; + HEAP32[8314] = 0; } - $21 = HEAP32[7835]|0; + $21 = HEAP32[7876]|0; switch ($21|0) { case 1: { - $22 = HEAP32[8094]|0; - $23 = HEAP32[(32384)>>2]|0; + $22 = HEAP32[8135]|0; + $23 = HEAP32[(32548)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } $25 = (($22) - ($23))|0; @@ -16831,22 +21036,22 @@ function _rlEnd() { if ($26) { $$04347 = 0; } else { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(32396)>>2]|0; - $28 = HEAP32[(32384)>>2]|0; + $27 = HEAP32[(32560)>>2]|0; + $28 = HEAP32[(32548)>>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; + $34 = HEAP32[(32560)>>2]|0; + $35 = HEAP32[(32548)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -16854,8 +21059,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(32396)>>2]|0; - $43 = HEAP32[(32384)>>2]|0; + $42 = HEAP32[(32560)>>2]|0; + $43 = HEAP32[(32548)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -16863,8 +21068,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(32396)>>2]|0; - $51 = HEAP32[(32384)>>2]|0; + $50 = HEAP32[(32560)>>2]|0; + $51 = HEAP32[(32548)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -16872,9 +21077,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(32384)>>2]|0; + $58 = HEAP32[(32548)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(32384)>>2] = $59; + HEAP32[(32548)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -16883,20 +21088,20 @@ function _rlEnd() { $$04347 = $60; } } - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; break; } case 4: { - $61 = HEAP32[8106]|0; - $62 = HEAP32[(32432)>>2]|0; + $61 = HEAP32[8147]|0; + $62 = HEAP32[(32596)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } $64 = (($61) - ($62))|0; @@ -16904,22 +21109,22 @@ function _rlEnd() { if ($65) { $$04248 = 0; } else { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(32444)>>2]|0; - $67 = HEAP32[(32432)>>2]|0; + $66 = HEAP32[(32608)>>2]|0; + $67 = HEAP32[(32596)>>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; + $73 = HEAP32[(32608)>>2]|0; + $74 = HEAP32[(32596)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16927,8 +21132,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(32444)>>2]|0; - $82 = HEAP32[(32432)>>2]|0; + $81 = HEAP32[(32608)>>2]|0; + $82 = HEAP32[(32596)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16936,8 +21141,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(32444)>>2]|0; - $90 = HEAP32[(32432)>>2]|0; + $89 = HEAP32[(32608)>>2]|0; + $90 = HEAP32[(32596)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16945,9 +21150,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(32432)>>2]|0; + $97 = HEAP32[(32596)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(32432)>>2] = $98; + HEAP32[(32596)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16956,15 +21161,15 @@ function _rlEnd() { $$04248 = $99; } } - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; break; } case 7: { - $100 = HEAP32[8118]|0; - $101 = HEAP32[(32480)>>2]|0; + $100 = HEAP32[8159]|0; + $101 = HEAP32[(32644)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16972,16 +21177,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(32492)>>2]|0; - $106 = HEAP32[(32480)>>2]|0; + $105 = HEAP32[(32656)>>2]|0; + $106 = HEAP32[(32644)>>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; + $112 = HEAP32[(32656)>>2]|0; + $113 = HEAP32[(32644)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16989,8 +21194,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(32492)>>2]|0; - $121 = HEAP32[(32480)>>2]|0; + $120 = HEAP32[(32656)>>2]|0; + $121 = HEAP32[(32644)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16998,8 +21203,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(32492)>>2]|0; - $129 = HEAP32[(32480)>>2]|0; + $128 = HEAP32[(32656)>>2]|0; + $129 = HEAP32[(32644)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -17007,9 +21212,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(32480)>>2]|0; + $136 = HEAP32[(32644)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(32480)>>2] = $137; + HEAP32[(32644)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -17020,17 +21225,17 @@ function _rlEnd() { } } } - $139 = HEAP32[8118]|0; - $140 = HEAP32[(32476)>>2]|0; + $139 = HEAP32[8159]|0; + $140 = HEAP32[(32640)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(32488)>>2]|0; - $$promoted = HEAP32[(32476)>>2]|0; + $142 = HEAP32[(32652)>>2]|0; + $$promoted = HEAP32[(32640)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -17038,17 +21243,17 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(32476)>>2] = $147; - $148 = +HEAPF32[743]; + HEAP32[(32640)>>2] = $147; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; break; } default: { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } } @@ -17065,11 +21270,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[8272]|0; + $3 = HEAP32[8313]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[7832]|0; - $6 = HEAP32[8273]|0; + $5 = HEAP32[7873]|0; + $6 = HEAP32[8314]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -17077,16 +21282,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[8273] = $10; + HEAP32[8314] = $10; STACKTOP = sp;return; } - $11 = HEAP32[7835]|0; + $11 = HEAP32[7876]|0; switch ($11|0) { case 1: { - $12 = HEAP32[8094]|0; + $12 = HEAP32[8135]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(32388)>>2]|0; + $14 = HEAP32[(32552)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -17097,19 +21302,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[8094] = $21; + HEAP32[8135] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,8387,$vararg_buffer); + _TraceLog(1,8155,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[8106]|0; + $22 = HEAP32[8147]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(32436)>>2]|0; + $24 = HEAP32[(32600)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -17120,19 +21325,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[8106] = $31; + HEAP32[8147] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,8412,$vararg_buffer1); + _TraceLog(1,8180,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[8118]|0; + $32 = HEAP32[8159]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(32484)>>2]|0; + $34 = HEAP32[(32648)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -17143,9 +21348,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[8118] = $41; - $42 = HEAP32[7833]|0; - $43 = HEAP32[7834]|0; + HEAP32[8159] = $41; + $42 = HEAP32[7874]|0; + $43 = HEAP32[7875]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -17153,7 +21358,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,8441,$vararg_buffer3); + _TraceLog(1,8209,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -17168,7 +21373,7 @@ function _rlVertex2f($0,$1) { $1 = +$1; var $2 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $2 = +HEAPF32[743]; + $2 = +HEAPF32[746]; _rlVertex3f($0,$1,$2); return; } @@ -17177,13 +21382,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[7835]|0; + $2 = HEAP32[7876]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(32488)>>2]|0; - $5 = HEAP32[(32476)>>2]|0; + $4 = HEAP32[(32652)>>2]|0; + $5 = HEAP32[(32640)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -17191,7 +21396,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(32476)>>2] = $10; + HEAP32[(32640)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -17210,18 +21415,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[7835]|0; + $4 = HEAP32[7876]|0; switch ($4|0) { case 1: { - $$sink37 = (32384);$$sink38 = (32396); + $$sink37 = (32548);$$sink38 = (32560); break; } case 4: { - $$sink37 = (32432);$$sink38 = (32444); + $$sink37 = (32596);$$sink38 = (32608); break; } case 7: { - $$sink37 = (32480);$$sink38 = (32492); + $$sink37 = (32644);$$sink38 = (32656); break; } default: { @@ -17260,8 +21465,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[7833]|0; - $2 = HEAP32[7834]|0; + $1 = HEAP32[7874]|0; + $2 = HEAP32[7875]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -17274,9 +21479,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[7834] = $10; + HEAP32[7875] = $10; } - $11 = HEAP32[7834]|0; + $11 = HEAP32[7875]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -17287,7 +21492,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[8118]|0; + $0 = HEAP32[8159]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -17325,7 +21530,7 @@ 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; + ;HEAP32[$0>>2]=HEAP32[31064>>2]|0;HEAP32[$0+4>>2]=HEAP32[31064+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[31064+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[31064+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[31064+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[31064+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[31064+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[31064+28>>2]|0; return; } function _MeasureTextEx($0,$1,$2,$3,$4) { @@ -17801,8 +22006,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(34967,$0,$1)|0); - STACKTOP = sp;return (34967|0); + (_vsprintf(37283,$0,$1)|0); + STACKTOP = sp;return (37283|0); } function _MeasureText($0,$1) { $0 = $0|0; @@ -17841,22 +22046,22 @@ 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[8274]|0; - $4 = HEAP32[744]|0; + $3 = HEAP32[8315]|0; + $4 = HEAP32[747]|0; $5 = ($3|0)<($4|0); if ($5) { $6 = (($3) + 1)|0; $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[8275] = $7; - HEAP32[744] = $7; + HEAP32[8316] = $7; + HEAP32[747] = $7; $$sink = 0; } - HEAP32[8274] = $$sink; - $8 = HEAP32[8275]|0; + HEAP32[8315] = $$sink; + $8 = HEAP32[8316]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(8466,$$byval_copy)|0); + (_FormatText(8234,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -17865,7 +22070,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(34967,$0,$1,20,$$byval_copy); + _DrawText(37283,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _emscripten_GetProcAddress($0) { @@ -17914,7 +22119,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,8474)|0); + $12 = (_strstr($11,8242)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -17923,7 +22128,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,8478)|0); + $17 = (_strstr($16,8246)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -17932,7 +22137,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,8482)|0); + $22 = (_strstr($21,8250)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -17941,7 +22146,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,8486)|0); + $27 = (_strstr($26,8254)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -17950,1210 +22155,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,8492)|0); + $32 = (_strcmp($31,8260)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,8530)|0); + $35 = (_strcmp($34,8298)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 8549; + HEAP32[$3>>2] = 8317; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,8562)|0); + $38 = (_strcmp($37,8330)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 8583; + HEAP32[$3>>2] = 8351; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,8598)|0); + $41 = (_strcmp($40,8366)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 8613; + HEAP32[$3>>2] = 8381; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,8628)|0); + $44 = (_strcmp($43,8396)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 8643; + HEAP32[$3>>2] = 8411; } } else { - HEAP32[$3>>2] = 8514; + HEAP32[$3>>2] = 8282; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,8658)|0); + $47 = (_strcmp($46,8426)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,8672)|0); + $50 = (_strcmp($49,8440)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,8684)|0); + $53 = (_strcmp($52,8452)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 6; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,8698)|0); + $56 = (_strcmp($55,8466)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 7; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,8710)|0); + $59 = (_strcmp($58,8478)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 8; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,8724)|0); + $62 = (_strcmp($61,8492)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 9; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,8738)|0); + $65 = (_strcmp($64,8506)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 10; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,8755)|0); + $68 = (_strcmp($67,8523)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,8778)|0); + $71 = (_strcmp($70,8546)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,8804)|0); + $74 = (_strcmp($73,8572)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,8817)|0); + $77 = (_strcmp($76,8585)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,8833)|0); + $80 = (_strcmp($79,8601)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,8846)|0); + $83 = (_strcmp($82,8614)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 11; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,8860)|0); + $86 = (_strcmp($85,8628)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,8880)|0); + $89 = (_strcmp($88,8648)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,8900)|0); + $92 = (_strcmp($91,8668)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,8917)|0); + $95 = (_strcmp($94,8685)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,8934)|0); + $98 = (_strcmp($97,8702)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,8946)|0); + $101 = (_strcmp($100,8714)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 12; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,8959)|0); + $104 = (_strcmp($103,8727)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 13; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,8975)|0); + $107 = (_strcmp($106,8743)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,8998)|0); + $110 = (_strcmp($109,8766)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,9011)|0); + $113 = (_strcmp($112,8779)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,9027)|0); + $116 = (_strcmp($115,8795)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,9038)|0); + $119 = (_strcmp($118,8806)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 14; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,9057)|0); + $122 = (_strcmp($121,8825)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 15; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,9079)|0); + $125 = (_strcmp($124,8847)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 16; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,9098)|0); + $128 = (_strcmp($127,8866)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,9127)|0); + $131 = (_strcmp($130,8895)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,9144)|0); + $134 = (_strcmp($133,8912)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,9159)|0); + $137 = (_strcmp($136,8927)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,9174)|0); + $140 = (_strcmp($139,8942)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,9195)|0); + $143 = (_strcmp($142,8963)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,9215)|0); + $146 = (_strcmp($145,8983)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,9235)|0); + $149 = (_strcmp($148,9003)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,9261)|0); + $152 = (_strcmp($151,9029)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,9280)|0); + $155 = (_strcmp($154,9048)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,9292)|0); + $158 = (_strcmp($157,9060)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,9304)|0); + $161 = (_strcmp($160,9072)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,9316)|0); + $164 = (_strcmp($163,9084)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,9328)|0); + $167 = (_strcmp($166,9096)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 17; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,9340)|0); + $170 = (_strcmp($169,9108)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,9352)|0); + $173 = (_strcmp($172,9120)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,9364)|0); + $176 = (_strcmp($175,9132)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,9376)|0); + $179 = (_strcmp($178,9144)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,9389)|0); + $182 = (_strcmp($181,9157)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,9402)|0); + $185 = (_strcmp($184,9170)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,9415)|0); + $188 = (_strcmp($187,9183)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,9428)|0); + $191 = (_strcmp($190,9196)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,9441)|0); + $194 = (_strcmp($193,9209)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,9454)|0); + $197 = (_strcmp($196,9222)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,9467)|0); + $200 = (_strcmp($199,9235)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,9480)|0); + $203 = (_strcmp($202,9248)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,9499)|0); + $206 = (_strcmp($205,9267)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,9518)|0); + $209 = (_strcmp($208,9286)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,9537)|0); + $212 = (_strcmp($211,9305)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 18; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,9550)|0); + $215 = (_strcmp($214,9318)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 19; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,9568)|0); + $218 = (_strcmp($217,9336)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 20; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,9586)|0); + $221 = (_strcmp($220,9354)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 21; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,9604)|0); + $224 = (_strcmp($223,9372)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 22; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,9622)|0); + $227 = (_strcmp($226,9390)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,9642)|0); + $230 = (_strcmp($229,9410)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,8583)|0); + $233 = (_strcmp($232,8351)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,9660)|0); + $236 = (_strcmp($235,9428)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,9675)|0); + $239 = (_strcmp($238,9443)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,9696)|0); + $242 = (_strcmp($241,9464)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,9711)|0); + $245 = (_strcmp($244,9479)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,9729)|0); + $248 = (_strcmp($247,9497)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,9745)|0); + $251 = (_strcmp($250,9513)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,9764)|0); + $254 = (_strcmp($253,9532)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,9778)|0); + $257 = (_strcmp($256,9546)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,9793)|0); + $260 = (_strcmp($259,9561)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,8514)|0); + $263 = (_strcmp($262,8282)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,9804)|0); + $266 = (_strcmp($265,9572)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,8613)|0); + $269 = (_strcmp($268,8381)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 23; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,8643)|0); + $272 = (_strcmp($271,8411)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 24; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,9820)|0); + $275 = (_strcmp($274,9588)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,9847)|0); + $278 = (_strcmp($277,9615)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,9861)|0); + $281 = (_strcmp($280,9629)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,8549)|0); + $284 = (_strcmp($283,8317)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,9881)|0); + $287 = (_strcmp($286,9649)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,9899)|0); + $290 = (_strcmp($289,9667)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,9911)|0); + $293 = (_strcmp($292,9679)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,9932)|0); + $296 = (_strcmp($295,9700)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 25; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,9950)|0); + $299 = (_strcmp($298,9718)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 26; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,9968)|0); + $302 = (_strcmp($301,9736)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 27; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,9989)|0); + $305 = (_strcmp($304,9757)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,10015)|0); + $308 = (_strcmp($307,9783)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,10038)|0); + $311 = (_strcmp($310,9806)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,10076)|0); + $314 = (_strcmp($313,9844)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,10092)|0); + $317 = (_strcmp($316,9860)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,10107)|0); + $320 = (_strcmp($319,9875)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,10130)|0); + $323 = (_strcmp($322,9898)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,10143)|0); + $326 = (_strcmp($325,9911)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 28; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,10157)|0); + $329 = (_strcmp($328,9925)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 29; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,10171)|0); + $332 = (_strcmp($331,9939)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,10191)|0); + $335 = (_strcmp($334,9959)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,10211)|0); + $338 = (_strcmp($337,9979)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,10227)|0); + $341 = (_strcmp($340,9995)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,10245)|0); + $344 = (_strcmp($343,10013)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,10261)|0); + $347 = (_strcmp($346,10029)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,10276)|0); + $350 = (_strcmp($349,10044)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,10298)|0); + $353 = (_strcmp($352,10066)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 30; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,10316)|0); + $356 = (_strcmp($355,10084)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 31; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,10337)|0); + $359 = (_strcmp($358,10105)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,10355)|0); + $362 = (_strcmp($361,10123)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,10368)|0); + $365 = (_strcmp($364,10136)|0); $366 = ($365|0)!=(0); if (!($366)) { - HEAP32[$1>>2] = 1; + HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,10383)|0); + $368 = (_strcmp($367,10151)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,10397)|0); + $371 = (_strcmp($370,10165)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,10407)|0); + $374 = (_strcmp($373,10175)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,10417)|0); + $377 = (_strcmp($376,10185)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,10439)|0); + $380 = (_strcmp($379,10207)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,10465)|0); + $383 = (_strcmp($382,10233)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,10492)|0); + $386 = (_strcmp($385,10260)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,10505)|0); + $389 = (_strcmp($388,10273)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,10520)|0); + $392 = (_strcmp($391,10288)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,10535)|0); + $395 = (_strcmp($394,10303)|0); $396 = ($395|0)!=(0); if (!($396)) { - HEAP32[$1>>2] = 2; + HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,10559)|0); + $398 = (_strcmp($397,10327)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,10570)|0); + $401 = (_strcmp($400,10338)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 32; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,10592)|0); + $404 = (_strcmp($403,10360)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,10614)|0); + $407 = (_strcmp($406,10382)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,10638)|0); + $410 = (_strcmp($409,10406)|0); $411 = ($410|0)!=(0); if (!($411)) { - HEAP32[$1>>2] = 3; + HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,10647)|0); + $413 = (_strcmp($412,10415)|0); $414 = ($413|0)!=(0); if (!($414)) { - HEAP32[$1>>2] = 4; + HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,10655)|0); + $416 = (_strcmp($415,10423)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,10668)|0); + $419 = (_strcmp($418,10436)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,10682)|0); + $422 = (_strcmp($421,10450)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,10694)|0); + $425 = (_strcmp($424,10462)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,10703)|0); + $428 = (_strcmp($427,10471)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,10713)|0); + $431 = (_strcmp($430,10481)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,10725)|0); + $434 = (_strcmp($433,10493)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,10736)|0); + $437 = (_strcmp($436,10504)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,10744)|0); + $440 = (_strcmp($439,10512)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,10756)|0); + $443 = (_strcmp($442,10524)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,10771)|0); + $446 = (_strcmp($445,10539)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,10783)|0); + $449 = (_strcmp($448,10551)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,10797)|0); + $452 = (_strcmp($451,10565)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,10822)|0); + $455 = (_strcmp($454,10590)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,10839)|0); + $458 = (_strcmp($457,10607)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,10855)|0); + $461 = (_strcmp($460,10623)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,10871)|0); + $464 = (_strcmp($463,10639)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,10883)|0); + $467 = (_strcmp($466,10651)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 33; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,10895)|0); + $470 = (_strcmp($469,10663)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 34; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,10919)|0); + $473 = (_strcmp($472,10687)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,10932)|0); + $476 = (_strcmp($475,10700)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,10946)|0); + $479 = (_strcmp($478,10714)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 35; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,10968)|0); + $482 = (_strcmp($481,10736)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 36; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,10975)|0); + $485 = (_strcmp($484,10743)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,10991)|0); + $488 = (_strcmp($487,10759)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,11008)|0); + $491 = (_strcmp($490,10776)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,11025)|0); + $494 = (_strcmp($493,10793)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,11041)|0); + $497 = (_strcmp($496,10809)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,11057)|0); + $500 = (_strcmp($499,10825)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,11074)|0); + $503 = (_strcmp($502,10842)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,11088)|0); + $506 = (_strcmp($505,10856)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,11100)|0); + $509 = (_strcmp($508,10868)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,11111)|0); + $512 = (_strcmp($511,10879)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,11124)|0); + $515 = (_strcmp($514,10892)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,11134)|0); + $518 = (_strcmp($517,10902)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,11151)|0); + $521 = (_strcmp($520,10919)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,11163)|0); + $524 = (_strcmp($523,10931)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,11185)|0); + $527 = (_strcmp($526,10953)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,11205)|0); + $530 = (_strcmp($529,10973)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,11218)|0); + $533 = (_strcmp($532,10986)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,11240)|0); + $536 = (_strcmp($535,11008)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,11260)|0); + $539 = (_strcmp($538,11028)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,11277)|0); + $542 = (_strcmp($541,11045)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,11294)|0); + $545 = (_strcmp($544,11062)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,11314)|0); + $548 = (_strcmp($547,11082)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -19175,7 +23380,15 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (33104|0); + return (33268|0); +} +function ___emscripten_pthread_data_constructor() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 188|0); + HEAP32[$1>>2] = (33308); + return; } function ___stdio_close($0) { $0 = $0|0; @@ -19185,7 +23398,7 @@ function ___stdio_close($0) { $vararg_buffer = sp; $1 = ((($0)) + 60|0); $2 = HEAP32[$1>>2]|0; - $3 = (_dummy_738($2)|0); + $3 = (_dummy_736($2)|0); HEAP32[$vararg_buffer>>2] = $3; $4 = (___syscall6(6,($vararg_buffer|0))|0); $5 = (___syscall_ret($4)|0); @@ -19365,12 +23578,7 @@ function ___pthread_self_108() { $0 = (_pthread_self()|0); return ($0|0); } -function _pthread_self() { - var label = 0, sp = 0; - sp = STACKTOP; - return (2980|0); -} -function _dummy_738($0) { +function _dummy_736($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; @@ -19503,7 +23711,7 @@ function _vsnprintf($0,$1,$2,$3) { 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)); + dest=$5; src=3124; 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) { @@ -19552,4530 +23760,6593 @@ function _vsnprintf($0,$1,$2,$3) { } STACKTOP = sp;return ($$0|0); } -function _vfprintf($0,$1,$2) { +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 = (Atomics_load(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; - 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; + $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 + 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; + 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 { - $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; + $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; } - $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; + $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 { - $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 = $$; + $$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 = ((11198 + (($$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; } - } 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); + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; } - $$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); + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|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; + if ($142) { + if ($143) { + $$0 = -1; + break L1; } else { - $19 = (($$0243) + ($$0247))|0; - $$1248 = $19; + 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; } - } else { - $$1248 = $$0247; + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); } } while(0); - $20 = HEAP8[$21>>0]|0; - $22 = ($20<<24>>24)==(0); - if ($22) { - label = 87; - break; - } else { - $23 = $20;$25 = $21; + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } } - L9: while(1) { - switch ($23<<24>>24) { - case 37: { - $$0249306 = $25;$27 = $25; - label = 9; - break L9; + $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 0: { - $$0249$lcssa = $25;$39 = $25; - break L9; + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; 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; + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; } - } 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; + 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 = 11662;$$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 = 11662;$242 = $231;$243 = $232; + label = 66; + break L71; } else { - label = 23; + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 11662 : (11664); + $$$ = $238 ? $$ : (11663); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; } - } else { - label = 23; + break; } - 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; + 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 = 11662;$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 = 11662;$$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 : 11672; + $$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_672($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; } else { - $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + $$4258355 = $$0254;$331 = $$pre349; + label = 75; } + break; } - 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; + 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; } - $$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; + default: { + $$2 = $21;$$2234 = 0;$$2239 = 11662;$$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 = (11662 + ($208)|0); + $$289 = $or$cond283 ? 11662 : $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 = 11662;$$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; } } - $117 = ($$3272|0)==(0); - if (!($117)) { + $294 = ($$2245|0)<(0); + if ($294) { $$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; + _pad_672($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; } else { - $330 = 0; + $$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; + } + } } - 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; + 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_672($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_672($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_672($0,48,$$2261,$312,$314); + _pad_672($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_672($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; } - $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; + } + } 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; } } - $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; + } 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; - } else { - label = 49; + break; } - } 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; + 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; } - if (!($10)) { - $$0 = 0; + 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; } - _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; + 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 1: { - $172 = HEAP32[$6>>2]|0; - HEAP32[$172>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; + 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 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; + 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 3: { - $180 = $$1248&65535; - $181 = HEAP32[$6>>2]|0; - HEAP16[$181>>1] = $180; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; + 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 4: { - $182 = $$1248&255; - $183 = HEAP32[$6>>2]|0; - HEAP8[$183>>0] = $182; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; + 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 6: { - $184 = HEAP32[$6>>2]|0; - HEAP32[$184>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; + 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 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; + 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: { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - } + break 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; } + } 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 = (11714 + ($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; } - 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; + } + } + 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; } - 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; - } + } + } + 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; } - 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; + } + $$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; } - 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; + } + } + 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 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; + } 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; } - $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; + } 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; } - $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; + $35 = ((($$140)) + 1|0); + $36 = (($$23839) + -1)|0; + $37 = ($36|0)==(0); + if ($37) { + $$2 = $35;$$3 = 0; break; + } else { + $$140 = $35;$$23839 = $36; } } - $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; + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_672($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 { - $$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; - } - } + 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; + $16 = $13 & 255; + $$0$lcssa = $16; + } else { + $$0$lcssa = $9; } - $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; + _out($0,$5,$$0$lcssa); } - 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; + 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_673($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11679; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11680) : (11685); + $$$ = $16 ? $$ : (11682); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_673($$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; + } } - $324 = ($325|0)<(10); - if ($324) { - $$3303 = $325; + $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 { - $$0 = 1; + $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; } - } 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; + $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 = (11714 + ($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; + } } - 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; + $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_672($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_672($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_672($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_672($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; } - 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; + } + $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; + } } - 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; + } 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; + } } - 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; + } 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; + } + } } - 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; + } 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; } - 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; + $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; } - 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; + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; break; } - default: { - break L1; - } + } + $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); - } - } 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; + $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 { - $$012 = $27;$$111 = $26; + $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; } - } - } - 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; + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_672($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_672($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; + } } - $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; + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11730,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 { - $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; - label = 5; - break; + $$4478$lcssa = $$3477; } - } - } 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; + $357 = (($$4478$lcssa) + 9)|0; + _pad_672($0,48,$357,9,0); } 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; + $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,11730,1); + $$2 = $372; } else { - $$0$lcssa = $29;$$137$lcssa = $30; - label = 11; - break L11; + $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; } - $$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; } + } else { + $$5$lcssa = $$3477; } + $383 = (($$5$lcssa) + 18)|0; + _pad_672($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); } + $387 = $4 ^ 8192; + _pad_672($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11698 : 11702; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11706 : 11710; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_672($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_672($0,32,$2,$32,$34); + $$sink562 = $32; } } while(0); - $38 = ($$3|0)!=(0); - $39 = $38 ? $$2 : 0; - return ($39|0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|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; +function ___DOUBLE_BITS_673($0) { + $0 = +$0; + var $1 = 0, $2 = 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; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + tempRet0 = ($2); + return ($1|0); } -function _wctomb($0,$1) { - $0 = $0|0; +function _frexpl($0,$1) { + $0 = +$0; $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + var $2 = 0.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); + $2 = (+_frexp($0,$1)); + return (+$2); } -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; +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; - 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 = $$$; + 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; } - (___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; + } + 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 ($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; + if ($3) { + $$0 = 1; + } else { + $4 = ($1>>>0)<(128); + if ($4) { + $5 = $1&255; + HEAP8[$0>>0] = $5; + $$0 = 1; + break; } - $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; + $6 = (___pthread_self_446()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = (Atomics_load(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 { - $$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; - } + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + 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; + } + $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; } - $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; + $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; } - $112 = ($$pr|0)<(0); - $113 = ((($6)) + 288|0); - $$556 = $112 ? $6 : $113; - $$0498 = $$556;$$4 = $$3; + } + } while(0); + return ($$0|0); +} +function ___pthread_self_446() { + 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 = (11732 + ($$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 = 11820;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 11820; + } else { + $$01214 = 11820;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$113 = $$01214; 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 { + $9 = HEAP8[$$113>>0]|0; + $10 = ($9<<24>>24)==(0); + $11 = ((($$113)) + 1|0); + if ($10) { break; + } else { + $$113 = $11; } } - $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; - } + $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 = (Atomics_load(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; } - $135 = ($132|0)==(0); - if ($135) { - $$2483$ph = $$1482661; - } else { - $136 = ((($$1482661)) + -4|0); - HEAP32[$136>>2] = $132; - $$2483$ph = $136; + $39 = (($35) + ($31))|0; + $40 = (($0) + ($39)|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)==(0); + if (!($42)) { + $$4 = 0; + break L1; } - } - $$2500 = $$1499660; - while(1) { - $137 = ($$2500>>>0)>($$2483$ph>>>0); - if (!($137)) { + $43 = (($0) + ($35)|0); + $44 = (_strcmp($2,$43)|0); + $45 = ($44|0)==(0); + if ($45) { break; } - $138 = ((($$2500)) + -4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(0); - if ($140) { - $$2500 = $138; + $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 { - break; + $$090 = $$191;$$094 = $$195; } } - $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; + $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 { - $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; - break; + $$4 = 0; } + } else { + $$4 = 0; } } else { - $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + $$4 = 0; } - $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; - } + } 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; } - $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; + $22 = (($$038) + -1)|0; + $23 = (($0) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)==(10); + if ($25) { + break; } else { - $171 = ((($$3501647)) + 4|0); - HEAP32[$$3501647>>2] = $164; - $$$3484692 = $$$3484;$$4502 = $171; + $$038 = $22; } - } 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; + $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; } - } 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; + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; + break; } 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; - } - } + $$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 { - $$1515 = 0; + break; } - $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; - } - } + } + $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 { - $$1531$lcssa = 10; + $$pn = $19; } - $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; + } + } + $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 { - $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; + $$03039 = $13; } - $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; + } + } + $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 { - $$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; - } - } + $$029$lcssa = $31; + break; } - } else { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; } + } else { + $$029$lcssa = $$030$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(0); + $38 = $1&255; + $$1 = $$029$lcssa; while(1) { - $252 = ($$7505>>>0)>($$9$ph>>>0); - if (!($252)) { - $$lcssa673 = 0; + $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; - } - $253 = ((($$7505)) + -4|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)==(0); - if ($255) { - $$7505 = $253; } else { - $$lcssa673 = 1; - break; + $$1 = $42; } } - $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; + } + } 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 { - $262 = (($5) + -2)|0; - $263 = (($$539$) + -1)|0; - $$0479 = $262;$$2476 = $263; + $$02642 = $11;$$02741 = $12; } - $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; - } + } + } + $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 { - $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + $$0$lcssa = $22;$$025$lcssa = $23; + break; } - } 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; - } - } + $$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 { - $$1512$lcssa = $300; + $$12834 = $34;$$135 = $33; } - $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; + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((33332|0)); + return (33340|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((33332|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 = (Atomics_load(HEAP32,780)|0); + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = (Atomics_load(HEAP32,780)|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) { - $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; - } + $14 = ((($$02327)) + 76|0); + $15 = (Atomics_load(HEAP32,$14>>2)|0); + $16 = ($15|0)>(-1); + if ($16) { + $17 = (___lockfile($$02327)|0); + $26 = $17; } 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; - } + $26 = 0; } - $335 = $$1465; - $336 = (($324) - ($335))|0; - _out($0,$$1465,$336); - $337 = ((($$5493597)) + 4|0); - $338 = ($337>>>0)>($$556>>>0); - if ($338) { + $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 { - $$5493597 = $337; + $$02327 = $$023;$$02426 = $$1; } } - $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; + } + ___ofl_unlock(); + $$0 = $$024$lcssa; + } else { + $2 = ((($0)) + 76|0); + $3 = (Atomics_load(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; } - } - } 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; + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; } 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; + $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 { - $369 = ($$0>>>0)>($8>>>0); - if (!($369)) { - $$2 = $$0; + $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; - } - $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; + } + } 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 { - $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; + $$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; + } } - } 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); + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); } -function _frexp($0,$1) { - $0 = +$0; +function _fourbyte_strstr($0,$1) { + $0 = $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; + 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; - 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; + $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; + } } - 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); + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); } -function _wcrtomb($0,$1,$2) { +function _twoway_strstr($0,$1) { $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; + 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; - $3 = ($0|0)==(0|0); - do { - if ($3) { - $$0 = 1; + 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 { - $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; + $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 { - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 84; - $$0 = -1; - break; + $$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; } - $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; + } + } 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 { - $56 = (___errno_location()|0); - HEAP32[$56>>2] = 84; - $$0 = -1; - break; + $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); - 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); + STACKTOP = sp;return ($$3|0); } -function ___strerror_l($0,$1) { +function _strspn($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; + 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; - $$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; + 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 { - $$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; + $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; + } } - } - $12 = (($$115) + -1)|0; - $13 = ($12|0)==(0); - if ($13) { - $$012$lcssa = $11; + $11 = $$020; + $12 = $0; + $13 = (($11) - ($12))|0; + $$0 = $13; break; } else { - $$01214 = $11;$$115 = $12; - label = 5; + $$01925 = $1;$17 = $3; } - } - } - $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; + 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; } - $43 = (($0) + ($35)|0); - $44 = (_strcmp($2,$43)|0); - $45 = ($44|0)==(0); - if ($45) { + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; 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; + $$123 = $36;$27 = $37; } } - $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); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; } } while(0); - return ($$4|0); + STACKTOP = sp;return ($$0|0); } -function _swapc($0,$1) { +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 = 14304; + $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 = 14304; + $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 = 14304; + $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 $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + var $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); + $2 = HEAP32[748]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); } -function ___fwritex($0,$1,$2) { +function _strcspn($0,$1) { $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; + 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; - $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; + 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 { - $$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; + $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) { - $21 = ($$038|0)==(0); - if ($21) { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - break L10; + $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; } - $22 = (($$038) + -1)|0; - $23 = (($0) + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(10); - if ($25) { + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; break; } else { - $$038 = $22; + $$01922 = $32;$23 = $33; } } - $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); + 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 ___towrite($0) { +function _strcat($0,$1) { $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; + $1 = $1|0; + var $2 = 0, $3 = 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; + $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[8336]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } } else { - $10 = $7 | 32; - HEAP32[$0>>2] = $10; - $$0 = -1; + $$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[8336] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[8336] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[8336] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[8336] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); return ($$0|0); } -function _sn_write($0,$1,$2) { +function __emscripten_atomic_fetch_and_add_u64($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; + 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, $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); - $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); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function _strlen($0) { +function __emscripten_atomic_fetch_and_and_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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; - } + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } } - } while(0); - if ((label|0) == 4) { - $$0 = $$015$lcssa; + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_or_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { 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 { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { 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; - } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_sub_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } } - $21 = $$1$lcssa; - $$sink = $21; + $10 = ($7|0)==(0); + if ($10) { + break; + } } - $22 = (($$sink) - ($1))|0; - return ($22|0); + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function _strchr($0,$1) { +function __emscripten_atomic_fetch_and_xor_u64($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 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); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function ___strchrnul($0,$1) { +function _emscripten_async_run_in_main_thread($0) { $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; + var $$0 = 0, $$0$in = 0, $$0$in19 = 0, $$0$lcssa = 0, $$020 = 0, $$expand_i1_val = 0, $$lcssa = 0, $$lcssa18 = 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; + var $9 = 0, $call_queue$init$val = 0, $call_queue$init$val$pre_trunc = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = $1 & 255; + $1 = ($0|0)==(0|0); + if ($1) { + ___assert_fail((13914|0),(13746|0),260,(13919|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); $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; + if (!($3)) { + __do_call($0); + return; + } + (___pthread_mutex_lock(33864)|0); + $call_queue$init$val$pre_trunc = HEAP8[38379]|0; + $call_queue$init$val = $call_queue$init$val$pre_trunc&1; + if (!($call_queue$init$val)) { + $$expand_i1_val = 1; + HEAP8[38379] = $$expand_i1_val; + } + $4 = (Atomics_load(HEAP32, 8473)|0); + $5 = (Atomics_load(HEAP32, 8474)|0); + $$0$in19 = (($5) + 1)|0; + $$020 = (($$0$in19|0) % 128)&-1; + $6 = ($$020|0)==($4|0); + if ($6) { + $7 = $4; + while(1) { + (___pthread_mutex_unlock(33864)|0); + (_emscripten_futex_wait((33892|0),($7|0),inf)|0); + (___pthread_mutex_lock(33864)|0); + $8 = (Atomics_load(HEAP32, 8473)|0); + $9 = (Atomics_load(HEAP32, 8474)|0); + $$0$in = (($9) + 1)|0; + $$0 = (($$0$in|0) % 128)&-1; + $10 = ($$0|0)==($8|0); + if ($10) { + $7 = $8; } 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; - } + $$0$lcssa = $$0;$$lcssa = $9;$$lcssa18 = $8; + break; } } - } while(0); - return ($$0|0); + } else { + $$0$lcssa = $$020;$$lcssa = $5;$$lcssa18 = $4; + } + $11 = (33900 + ($$lcssa<<2)|0); + HEAP32[$11>>2] = $0; + $12 = ($$lcssa18|0)==($$lcssa|0); + if ($12) { + _emscripten_asm_const_v(1); + } + $13 = (Atomics_store(HEAP32, 8474, $$0$lcssa)|0); + (___pthread_mutex_unlock(33864)|0); + return; } -function _strcpy($0,$1) { +function _emscripten_atomic_add_u64($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - (___stpcpy($0,$1)|0); - return ($0|0); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); } -function ___stpcpy($0,$1) { +function _emscripten_atomic_and_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } - $$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; - } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_cas_u64($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, $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, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $0; + $6 = $5 >>> 3; + $7 = $6 & 255; + $8 = (34420 + ($7<<2)|0); + while(1) { + while(1) { + $9 = (Atomics_load(HEAP32, $8>>2)|0); + $10 = (Atomics_compareExchange(HEAP32, $8>>2, $9, 1)|0); + $11 = ($9|0)==($10|0); + if ($11) { + break; } } + $12 = ($9|0)==(0); + if ($12) { + break; + } } - return ($$029|0); -} -function ___ofl_lock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___lock((33168|0)); - return (33176|0); + $13 = $0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)==($1|0); + $20 = ($18|0)==($2|0); + $21 = $19 & $20; + if (!($21)) { + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); + } + $22 = $0; + $23 = $22; + HEAP32[$23>>2] = $3; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $4; + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); } -function ___ofl_unlock() { - var label = 0, sp = 0; +function _emscripten_atomic_exchange_u32($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - ___unlock((33168|0)); - return; + while(1) { + $2 = (Atomics_load(HEAP32, $0>>2)|0); + $3 = (Atomics_compareExchange(HEAP32, $0>>2, $2, $1)|0); + $4 = ($2|0)==($3|0); + if ($4) { + break; + } + } + return ($2|0); } -function _fflush($0) { +function _emscripten_atomic_exchange_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; - $1 = ($0|0)==(0|0); - do { - if ($1) { - $8 = HEAP32[838]|0; - $9 = ($8|0)==(0|0); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|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); + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $0; + $18 = $17; + HEAP32[$18>>2] = $1; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $2; + $21 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function ___fflush_unlocked($0) { +function _emscripten_atomic_load_f32($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; + var $1 = 0, $2 = 0.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; + $1 = (Atomics_load(HEAP32, $0>>2)|0); + $2 = (HEAP32[tempDoublePtr>>2]=$1,+HEAPF32[tempDoublePtr>>2]); + return (+$2); +} +function _emscripten_atomic_load_f64($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.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34420 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; + } } - } 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); + $8 = ($5|0)==(0); + if ($8) { + break; } - $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); + $9 = +HEAPF64[$0>>3]; + $10 = (Atomics_store(HEAP32, $4>>2, 0)|0); + return (+$9); } -function _strstr($0,$1) { +function _emscripten_atomic_load_u64($0) { $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; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $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; - } - } - } - } - } + $1 = $0; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34420 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; + } + } + $8 = ($5|0)==(0); + if ($8) { + break; + } + } + $9 = $0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (Atomics_store(HEAP32, $4>>2, 0)|0); + tempRet0 = ($14); + return ($11|0); +} +function _emscripten_atomic_or_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } } - } while(0); - return ($$0|0); + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); } -function _twobyte_strstr($0,$1) { +function _emscripten_atomic_store_f32($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; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0.0, 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; + $2 = (HEAPF32[tempDoublePtr>>2]=$1,HEAP32[tempDoublePtr>>2]|0); + $3 = (Atomics_store(HEAP32, $0>>2, $2)|0); + $4 = (+($3>>>0)); + return (+$4); +} +function _emscripten_atomic_store_f64($0,$1) { + $0 = $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 = $0; + $3 = $2 >>> 3; + $4 = $3 & 255; + $5 = (34420 + ($4<<2)|0); while(1) { - $11 = ((($$sink17$sink)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $$lcssa = 0; + while(1) { + $6 = (Atomics_load(HEAP32, $5>>2)|0); + $7 = (Atomics_compareExchange(HEAP32, $5>>2, $6, 1)|0); + $8 = ($6|0)==($7|0); + if ($8) { + break; + } + } + $9 = ($6|0)==(0); + if ($9) { 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; + } + HEAPF64[$0>>3] = $1; + $10 = (Atomics_store(HEAP32, $5>>2, 0)|0); + return (+$1); +} +function _emscripten_atomic_store_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { break; - } else { - $$sink$in = $15;$$sink17$sink = $11; } } - return ($$lcssa|0); + $11 = $0; + $12 = $11; + HEAP32[$12>>2] = $1; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $2; + $15 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($2); + return ($1|0); } -function _threebyte_strstr($0,$1) { +function _emscripten_atomic_sub_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { 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; + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { break; - } else { - $$01619 = $30;$$020 = $34; } } + $10 = ($7|0)==(0); + if ($10) { + break; + } } - $37 = ((($$016$lcssa)) + -2|0); - $38 = $$lcssa ? $37 : 0; - return ($38|0); + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); } -function _fourbyte_strstr($0,$1) { +function _emscripten_atomic_xor_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34420 + ($5<<2)|0); + while(1) { 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; + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_main_thread_process_queued_calls() { + var $$0910 = 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, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_emscripten_is_main_runtime_thread()|0); + $1 = ($0|0)==(0); + if ($1) { + ___assert_fail((13624|0),(13746|0),424,(13810|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); + $3 = ($2|0)==(0); + $4 = HEAP32[8465]|0; + $5 = ($4|0)!=(0); + $or$cond = $3 | $5; + if ($or$cond) { + return; + } + HEAP32[8465] = 1; + (___pthread_mutex_lock(33864)|0); + $6 = (Atomics_load(HEAP32, 8473)|0); + $7 = (Atomics_load(HEAP32, 8474)|0); + $8 = ($6|0)==($7|0); + (___pthread_mutex_unlock(33864)|0); + if (!($8)) { + $$0910 = $6; + while(1) { + $9 = (33900 + ($$0910<<2)|0); + $10 = HEAP32[$9>>2]|0; + __do_call($10); + (___pthread_mutex_lock(33864)|0); + $11 = (($$0910) + 1)|0; + $12 = (($11|0) % 128)&-1; + $13 = (Atomics_store(HEAP32, 8473, $12)|0); + $14 = (Atomics_load(HEAP32, 8474)|0); + $15 = ($12|0)==($14|0); + (___pthread_mutex_unlock(33864)|0); + if ($15) { break; } else { - $$sink2124 = $40;$39 = $43; + $$0910 = $12; } } } - $46 = ((($$sink21$lcssa)) + -3|0); - $47 = $$lcssa ? $46 : 0; - return ($47|0); + (_emscripten_futex_wake((33892|0),2147483647)|0); + HEAP32[8465] = 0; + return; +} +function _emscripten_sync_run_in_main_thread($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + _emscripten_async_run_in_main_thread($0); + (_emscripten_wait_for_call_v($0,inf)|0); + return; +} +function _emscripten_sync_run_in_main_thread_0($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $1 = sp; + dest=$1; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$1>>2] = $0; + $2 = ((($1)) + 80|0); + HEAP32[$2>>2] = 0; + _emscripten_async_run_in_main_thread($1); + (_emscripten_wait_for_call_v($1,inf)|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); } -function _twoway_strstr($0,$1) { +function _emscripten_sync_run_in_main_thread_1($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; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $2 = sp + 1024|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $2 = sp; + dest=$2; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$2>>2] = $0; + $3 = ((($2)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($2)) + 80|0); + HEAP32[$4>>2] = 0; + _emscripten_async_run_in_main_thread($2); + (_emscripten_wait_for_call_v($2,inf)|0); + $5 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _emscripten_sync_run_in_main_thread_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|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; - } - } + dest=$3; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = $0; + $4 = ((($3)) + 16|0); + HEAP32[$4>>2] = $1; + $5 = ((($3)) + 24|0); + HEAP32[$5>>2] = $2; + $6 = ((($3)) + 80|0); + HEAP32[$6>>2] = 0; + _emscripten_async_run_in_main_thread($3); + (_emscripten_wait_for_call_v($3,inf)|0); + $7 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($7|0); +} +function _emscripten_sync_run_in_main_thread_3($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $4 = sp; + dest=$4; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$4>>2] = $0; + $5 = ((($4)) + 16|0); + HEAP32[$5>>2] = $1; + $6 = ((($4)) + 24|0); + HEAP32[$6>>2] = $2; + $7 = ((($4)) + 32|0); + HEAP32[$7>>2] = $3; + $8 = ((($4)) + 80|0); + HEAP32[$8>>2] = 0; + _emscripten_async_run_in_main_thread($4); + (_emscripten_wait_for_call_v($4,inf)|0); + $9 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _emscripten_sync_run_in_main_thread_4($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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $5 = sp; + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $6 = ((($5)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = ((($5)) + 24|0); + HEAP32[$7>>2] = $2; + $8 = ((($5)) + 32|0); + HEAP32[$8>>2] = $3; + $9 = ((($5)) + 40|0); + HEAP32[$9>>2] = $4; + $10 = ((($5)) + 80|0); + HEAP32[$10>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $11 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _emscripten_sync_run_in_main_thread_5($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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $6 = sp; + dest=$6; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$6>>2] = $0; + $7 = ((($6)) + 16|0); + HEAP32[$7>>2] = $1; + $8 = ((($6)) + 24|0); + HEAP32[$8>>2] = $2; + $9 = ((($6)) + 32|0); + HEAP32[$9>>2] = $3; + $10 = ((($6)) + 40|0); + HEAP32[$10>>2] = $4; + $11 = ((($6)) + 48|0); + HEAP32[$11>>2] = $5; + $12 = ((($6)) + 80|0); + HEAP32[$12>>2] = 0; + _emscripten_async_run_in_main_thread($6); + (_emscripten_wait_for_call_v($6,inf)|0); + $13 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _emscripten_sync_run_in_main_thread_6($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $7 = sp; + dest=$7; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$7>>2] = $0; + $8 = ((($7)) + 16|0); + HEAP32[$8>>2] = $1; + $9 = ((($7)) + 24|0); + HEAP32[$9>>2] = $2; + $10 = ((($7)) + 32|0); + HEAP32[$10>>2] = $3; + $11 = ((($7)) + 40|0); + HEAP32[$11>>2] = $4; + $12 = ((($7)) + 48|0); + HEAP32[$12>>2] = $5; + $13 = ((($7)) + 56|0); + HEAP32[$13>>2] = $6; + $14 = ((($7)) + 80|0); + HEAP32[$14>>2] = 0; + _emscripten_async_run_in_main_thread($7); + (_emscripten_wait_for_call_v($7,inf)|0); + $15 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _emscripten_sync_run_in_main_thread_7($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, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $8 = sp; + dest=$8; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$8>>2] = $0; + $9 = ((($8)) + 16|0); + HEAP32[$9>>2] = $1; + $10 = ((($8)) + 24|0); + HEAP32[$10>>2] = $2; + $11 = ((($8)) + 32|0); + HEAP32[$11>>2] = $3; + $12 = ((($8)) + 40|0); + HEAP32[$12>>2] = $4; + $13 = ((($8)) + 48|0); + HEAP32[$13>>2] = $5; + $14 = ((($8)) + 56|0); + HEAP32[$14>>2] = $6; + $15 = ((($8)) + 64|0); + HEAP32[$15>>2] = $7; + $16 = ((($8)) + 80|0); + HEAP32[$16>>2] = 0; + _emscripten_async_run_in_main_thread($8); + (_emscripten_wait_for_call_v($8,inf)|0); + $17 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($17|0); +} +function _emscripten_sync_run_in_main_thread_xprintf_varargs($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|0; + var $$0 = 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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $3 = sp + 96|0; + $4 = sp + 112|0; + $5 = sp; + HEAP32[$3>>2] = $varargs; + $6 = (_vsnprintf($4,128,$2,$3)|0); + $7 = ($6|0)>(127); + $8 = (($6) + 1)|0; + if ($7) { + $9 = (_malloc($8)|0); + HEAP32[$3>>2] = $varargs; + (_vsnprintf($9,$8,$2,$3)|0); + $$0 = $9; + } else { + $$0 = $4; + } + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $10 = $1; + $11 = ((($5)) + 16|0); + HEAP32[$11>>2] = $10; + $12 = ((($5)) + 24|0); + HEAP32[$12>>2] = $$0; + $13 = ((($5)) + 80|0); + HEAP32[$13>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $14 = ($$0|0)==($4|0); + if ($14) { + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); + } + _free($$0); + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); +} +function ___pthread_tsd_run_dtors() { + var $$02427 = 0, $$026 = 0, $$125 = 0, $$2 = 0, $0 = 0, $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; + var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 60|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 116|0); + $$02427 = 0; + while(1) { + $$026 = 0;$$125 = 0; + while(1) { + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + ($$026<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + $$2 = $$125; + } else { + $9 = (33348 + ($$026<<2)|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + $$2 = $$125; } 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; + HEAP32[$6>>2] = 0; + $12 = (Atomics_load(HEAP32,$9>>2)|0); + FUNCTION_TABLE_vi[$12 & 31]($7); + $$2 = 1; } + } + $13 = (($$026) + 1)|0; + $exitcond = ($13|0)==(128); + if ($exitcond) { + break; } else { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; + $$026 = $13;$$125 = $$2; } } - } 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; + $14 = (($$02427) + 1)|0; + $15 = ($$2|0)!=(0); + $16 = ($14|0)<(4); + $17 = $16 & $15; + if ($17) { + $$02427 = $14; + } else { + break; + } + } + return; +} +function _emscripten_wait_for_call_v($0,$1) { + $0 = $0|0; + $1 = +$1; + var $$ = 0, $$01921 = 0.0, $$020$lcssa = 0, $$1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = (Atomics_load(HEAP32, $2>>2)|0); + $4 = ($3|0)==(0); + if (!($4)) { + $$1 = $3; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); + } + $5 = (+_emscripten_get_now()); + $6 = $5 + $1; + _emscripten_set_current_thread_status(5); + $7 = $5 < $6; + if ($7) { + $$01921 = $5; + while(1) { + $8 = $6 - $$01921; + (_emscripten_futex_wait(($2|0),0,(+$8))|0); + $9 = (Atomics_load(HEAP32, $2>>2)|0); + $10 = (+_emscripten_get_now()); + $11 = ($9|0)==(0); + $12 = $10 < $6; + $or$cond = $11 & $12; + if ($or$cond) { + $$01921 = $10; } 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; + $$020$lcssa = $9; + break; } } + } else { + $$020$lcssa = 0; + } + _emscripten_set_current_thread_status(1); + $$1 = $$020$lcssa; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); +} +function __do_call($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, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $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, $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, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + do { + switch ($1|0) { + case 12: { + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 24|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_utime(($3|0),($5|0))|0); + $7 = ((($0)) + 80|0); + HEAP32[$7>>2] = $6; + break; + } + case 13: { + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($0)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_utimes(($9|0),($11|0))|0); + $13 = ((($0)) + 80|0); + HEAP32[$13>>2] = $12; + break; + } + case 37: { + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = (_chroot(($15|0))|0); + $17 = ((($0)) + 80|0); + HEAP32[$17>>2] = $16; + break; + } + case 46: { + $18 = ((($0)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = (_fpathconf(($19|0),($21|0))|0); + $23 = ((($0)) + 80|0); + HEAP32[$23>>2] = $22; + break; + } + case 68: { + $24 = ((($0)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 24|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = (_confstr(($25|0),($27|0),($29|0))|0); + $31 = ((($0)) + 80|0); + HEAP32[$31>>2] = $30; + break; + } + case 72: { + $32 = ((($0)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sysconf(($33|0))|0); + $35 = ((($0)) + 80|0); + HEAP32[$35>>2] = $34; + break; + } + case 110: { + $36 = ((($0)) + 16|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_atexit(($37|0))|0); + $39 = ((($0)) + 80|0); + HEAP32[$39>>2] = $38; + break; + } + case 111: { + $40 = ((($0)) + 16|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_getenv(($41|0))|0); + $43 = ((($0)) + 80|0); + HEAP32[$43>>2] = $42; + break; + } + case 112: { + $44 = (_clearenv()|0); + $45 = ((($0)) + 80|0); + HEAP32[$45>>2] = $44; + break; + } + case 113: { + $46 = ((($0)) + 16|0); + $47 = HEAP32[$46>>2]|0; + $48 = ((($0)) + 24|0); + $49 = HEAP32[$48>>2]|0; + $50 = ((($0)) + 32|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_setenv(($47|0),($49|0),($51|0))|0); + $53 = ((($0)) + 80|0); + HEAP32[$53>>2] = $52; + break; + } + case 114: { + $54 = ((($0)) + 16|0); + $55 = HEAP32[$54>>2]|0; + $56 = (_unsetenv(($55|0))|0); + $57 = ((($0)) + 80|0); + HEAP32[$57>>2] = $56; + break; + } + case 115: { + $58 = ((($0)) + 16|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_putenv(($59|0))|0); + $61 = ((($0)) + 80|0); + HEAP32[$61>>2] = $60; + break; + } + case 119: { + _tzset(); + break; + } + case 137: { + $62 = ((($0)) + 16|0); + $63 = HEAP32[$62>>2]|0; + $64 = ((($0)) + 24|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($0)) + 32|0); + $67 = HEAP32[$66>>2]|0; + $68 = ((($0)) + 40|0); + $69 = HEAP32[$68>>2]|0; + $70 = (_pthread_create(($63|0),($65|0),($67|0),($69|0))|0); + $71 = ((($0)) + 80|0); + HEAP32[$71>>2] = $70; + break; + } + case 138: { + $72 = ((($0)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ((($0)) + 24|0); + $75 = HEAP32[$74>>2]|0; + $76 = (_emscripten_syscall(($73|0),($75|0))|0); + $77 = ((($0)) + 80|0); + HEAP32[$77>>2] = $76; + break; + } + case 1024: { + $78 = ((($0)) + 4|0); + $79 = HEAP32[$78>>2]|0; + FUNCTION_TABLE_v[$79 & 7](); + break; + } + case 1025: { + $80 = ((($0)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = ((($0)) + 16|0); + $83 = HEAP32[$82>>2]|0; + FUNCTION_TABLE_vi[$81 & 31]($83); + break; + } + case 1026: { + $84 = ((($0)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = ((($0)) + 16|0); + $87 = HEAP32[$86>>2]|0; + $88 = ((($0)) + 24|0); + $89 = HEAP32[$88>>2]|0; + FUNCTION_TABLE_vii[$85 & 63]($87,$89); + break; + } + case 1027: { + $90 = ((($0)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = ((($0)) + 16|0); + $93 = HEAP32[$92>>2]|0; + $94 = ((($0)) + 24|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($0)) + 32|0); + $97 = HEAP32[$96>>2]|0; + FUNCTION_TABLE_viii[$91 & 31]($93,$95,$97); + break; + } + case 2048: { + $98 = ((($0)) + 4|0); + $99 = HEAP32[$98>>2]|0; + $100 = (FUNCTION_TABLE_i[$99 & 3]()|0); + $101 = ((($0)) + 80|0); + HEAP32[$101>>2] = $100; + break; + } + case 2049: { + $102 = ((($0)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ((($0)) + 16|0); + $105 = HEAP32[$104>>2]|0; + $106 = (FUNCTION_TABLE_ii[$103 & 15]($105)|0); + $107 = ((($0)) + 80|0); + HEAP32[$107>>2] = $106; + break; + } + case 2050: { + $108 = ((($0)) + 4|0); + $109 = HEAP32[$108>>2]|0; + $110 = ((($0)) + 16|0); + $111 = HEAP32[$110>>2]|0; + $112 = ((($0)) + 24|0); + $113 = HEAP32[$112>>2]|0; + $114 = (FUNCTION_TABLE_iii[$109 & 3]($111,$113)|0); + $115 = ((($0)) + 80|0); + HEAP32[$115>>2] = $114; + break; + } + case 2051: { + $116 = ((($0)) + 4|0); + $117 = HEAP32[$116>>2]|0; + $118 = ((($0)) + 16|0); + $119 = HEAP32[$118>>2]|0; + $120 = ((($0)) + 24|0); + $121 = HEAP32[$120>>2]|0; + $122 = ((($0)) + 32|0); + $123 = HEAP32[$122>>2]|0; + $124 = (FUNCTION_TABLE_iiii[$117 & 15]($119,$121,$123)|0); + $125 = ((($0)) + 80|0); + HEAP32[$125>>2] = $124; + break; + } + default: { + ___assert_fail((13854|0),(13746|0),211,(13905|0)); + // unreachable; + } + } } while(0); - STACKTOP = sp;return ($$3|0); + $126 = ((($0)) + 88|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)==(0); + if ($128) { + $129 = ((($0)) + 8|0); + HEAP32[$129>>2] = 1; + (_emscripten_futex_wake(($129|0),2147483647)|0); + return; + } else { + _free($0); + return; + } } -function _strspn($0,$1) { +function ___pthread_mutex_unlock($0) { + $0 = $0|0; + var $$0 = 0, $$045 = 0, $$pre = 0, $$pre$phiZ2D = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = (Atomics_load(HEAP32,$1>>2)|0); + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 15; + $5 = $3 & 128; + $6 = $5 ^ 128; + $7 = ($4|0)==(0); + if ($7) { + $$pre = ((($0)) + 4|0); + $$045 = 0;$$pre$phiZ2D = $$pre; + } else { + $8 = (_pthread_self()|0); + $9 = ((($0)) + 4|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = $10 & 2147483647; + $12 = ((($8)) + 52|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)==($13|0); + if (!($14)) { + $$0 = 1; + return ($$0|0); + } + $15 = $3 & 3; + $16 = ($15|0)==(1); + if ($16) { + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + $20 = (($18) + -1)|0; + HEAP32[$17>>2] = $20; + $$0 = 0; + return ($$0|0); + } + } + $21 = ($6|0)==(0); + $22 = ((($0)) + 16|0); + if ($21) { + $23 = ((($8)) + 176|0); + Atomics_store(HEAP32,$23>>2,$22)|0; + ___vm_lock(); + } + $24 = ((($0)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$22>>2]|0; + Atomics_store(HEAP32,$25>>2,$26)|0; + $27 = ((($8)) + 168|0); + $28 = ($26|0)==($27|0); + if ($28) { + $$045 = $8;$$pre$phiZ2D = $9; + } else { + $29 = ((($26)) + -4|0); + Atomics_store(HEAP32,$29>>2,$25)|0; + $$045 = $8;$$pre$phiZ2D = $9; + } + } + $30 = $3 & 8; + $31 = ($30|0)!=(0); + $32 = $31 ? 2147483647 : 0; + while(1) { + $33 = (Atomics_load(HEAP32, $$pre$phiZ2D>>2)|0); + $34 = (Atomics_compareExchange(HEAP32, $$pre$phiZ2D>>2, $33, $32)|0); + $35 = ($34|0)==($33|0); + if ($35) { + break; + } + } + $36 = ($6|0)!=(0); + $or$cond = $7 | $36; + if (!($or$cond)) { + $37 = ((($$045)) + 176|0); + Atomics_store(HEAP32,$37>>2,0)|0; + ___vm_unlock(); + } + $38 = ($2|0)!=(0); + $39 = ($33|0)<(0); + $or$cond3 = $38 | $39; + if (!($or$cond3)) { + $$0 = 0; + return ($$0|0); + } + (_emscripten_futex_wake(($$pre$phiZ2D|0),1)|0); + $$0 = 0; + return ($$0|0); +} +function ___vm_lock() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8603, 1)|0); + return; +} +function ___vm_unlock() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8603, -1)|0); + $1 = ($0|0)==(1); + if (!($1)) { + return; + } + $2 = (Atomics_load(HEAP32,(34416)>>2)|0); + $3 = ($2|0)==(0); + if ($3) { + return; + } + (_emscripten_futex_wake((34412|0),2147483647)|0); + return; +} +function ___pthread_mutex_lock($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = ($5|0)==(0); + if ($6) { + $$0 = 0; + return ($$0|0); + } + } + $7 = (___pthread_mutex_timedlock($0,0)|0); + $$0 = $7; + return ($$0|0); +} +function ___pthread_mutex_timedlock($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; + var $$0 = 0, $$2 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond40 = 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); + $2 = HEAP32[$0>>2]|0; + $3 = $2 & 15; + $4 = ($3|0)==(0); do { if ($4) { - $$0 = 0; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); + $5 = ((($0)) + 4|0); + $6 = (Atomics_compareExchange(HEAP32, $5>>2, 0, 16)|0); + $7 = ($6|0)==(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 { + $$2 = 0; + return ($$2|0); + } else { + $$pre = HEAP32[$0>>2]|0; + $9 = $$pre; + break; + } + } else { + $9 = $2; + } + } while(0); + $8 = $9 & 128; + $10 = $8 ^ 128; + $11 = (___pthread_mutex_trylock($0)|0); + $12 = ($11|0)==(16); + if (!($12)) { + $$2 = $11; + return ($$2|0); + } + $13 = ((($0)) + 4|0); + $14 = ((($0)) + 8|0); + $$0 = 100; + while(1) { + $15 = (($$0) + -1)|0; + $16 = ($$0|0)==(0); + if ($16) { + break; + } + $17 = (Atomics_load(HEAP32,$13>>2)|0); + $18 = ($17|0)==(0); + if ($18) { + break; + } + $19 = (Atomics_load(HEAP32,$14>>2)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = $15; + } else { + break; + } + } + $21 = (___pthread_mutex_trylock($0)|0); + $22 = ($21|0)==(16); + if (!($22)) { + $$2 = $21; + return ($$2|0); + } + L18: while(1) { + $23 = (Atomics_load(HEAP32,$13>>2)|0); + $24 = ($23|0)==(0); + if (!($24)) { + $27 = $23 & 1073741824; + $28 = ($27|0)==(0); + $29 = HEAP32[$0>>2]|0; + $30 = $29 & 4; + $31 = ($30|0)==(0); + $or$cond40 = $28 | $31; + if ($or$cond40) { + $32 = $29 & 3; + $33 = ($32|0)==(2); + if ($33) { + $34 = $23 & 2147483647; + $35 = (_pthread_self()|0); + $36 = ((($35)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($34|0)==($37|0); + if ($38) { + $$2 = 35; + label = 17; 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) { + $39 = (Atomics_add(HEAP32, $14>>2, 1)|0); + $40 = $23 | -2147483648; + $41 = (Atomics_compareExchange(HEAP32, $13>>2, $23, $40)|0); + $42 = (___timedwait($13,$40,0,$1,$10)|0); + $43 = (Atomics_sub(HEAP32, $14>>2, 1)|0); + switch ($42|0) { + case 0: case 4: { break; - } else { - $$01925 = $24;$17 = $25; + } + default: { + $$2 = $42; + label = 17; + break L18; + } } } - $14 = HEAP8[$0>>0]|0; - $15 = ($14<<24>>24)==(0); - L10: do { - if ($15) { - $$1$lcssa = $0; + } + $25 = (___pthread_mutex_trylock($0)|0); + $26 = ($25|0)==(16); + if (!($26)) { + $$2 = $25; + label = 17; + break; + } + } + if ((label|0) == 17) { + return ($$2|0); + } + return (0)|0; +} +function ___timedwait($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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + (___pthread_setcancelstate(1,($5|0))|0); + _emscripten_conditional_set_current_thread_status(1,4); + $6 = (___timedwait_cp($0,$1,$2,$3,$4)|0); + _emscripten_conditional_set_current_thread_status(4,1); + $7 = HEAP32[$5>>2]|0; + (___pthread_setcancelstate(($7|0),(0|0))|0); + STACKTOP = sp;return ($6|0); +} +function ___timedwait_cp($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$$0$us = 0.0, $$$045 = 0.0, $$$046$us = 0.0, $$0$us = 0.0, $$0$us53 = 0.0, $$138 = 0, $$138$ph = 0, $$138$ph70 = 0, $$138$ph72 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 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); + $5 = sp; + $6 = ($3|0)!=(0|0); + if ($6) { + $7 = ((($3)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8>>>0)>(999999999); + if ($9) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $10 = (___clock_gettime(($2|0),($5|0))|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = (($12) - ($13))|0; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ((($5)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($15) - ($17))|0; + HEAP32[$16>>2] = $18; + $19 = ($18|0)<(0); + if ($19) { + $20 = (($14) + -1)|0; + HEAP32[$5>>2] = $20; + $21 = (($18) + 1000000000)|0; + HEAP32[$16>>2] = $21; + $23 = $20; + } else { + $23 = $14; + } + $22 = ($23|0)<(0); + if ($22) { + $$138 = 110; + STACKTOP = sp;return ($$138|0); + } + } + $24 = (_emscripten_is_main_runtime_thread()|0); + $25 = ($24|0)!=(0); + $$$045 = $25 ? 1.0 : 100.0; + if ($25) { + L15: while(1) { + $26 = (_pthread_self()|0); + $27 = (__pthread_isduecanceled($26)|0); + $28 = ($27|0)==(0); + if (!($28)) { + $$138$ph = 125; + break; + } + _emscripten_main_thread_process_queued_calls(); + if ($6) { + $29 = (+__pthread_msecs_until($3)); + $30 = !($29 <= 0.0); + $31 = $29 > 100.0; + $$0$us = $31 ? 100.0 : $29; + $32 = $$0$us > 1.0; + $$$0$us = $32 ? 1.0 : $$0$us; + if ($30) { + $$$046$us = $$$0$us; } 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; - } - } + $$138$ph = 110; + break; } - } while(0); - $39 = $$1$lcssa; - $40 = $0; - $41 = (($39) - ($40))|0; - $$0 = $41; + } else { + $$$046$us = $$$045; + } + $33 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$046$us))|0); + $34 = (0 - ($33))|0; + switch ($34|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph = $34; + break L15; + break; + } + default: { + $$138 = 0; + label = 21; + break L15; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph; + STACKTOP = sp;return ($$138|0); + } + if (!($6)) { + L27: while(1) { + $43 = (_pthread_self()|0); + $44 = (__pthread_isduecanceled($43)|0); + $45 = ($44|0)==(0); + if (!($45)) { + $$138$ph72 = 125; + break; + } + $46 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$045))|0); + $47 = (0 - ($46))|0; + switch ($47|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph72 = $47; + break L27; + break; + } + default: { + $$138 = 0; + label = 21; + break L27; + } + } } - } while(0); - STACKTOP = sp;return ($$0|0); + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph72; + STACKTOP = sp;return ($$138|0); + } + L34: while(1) { + $35 = (_pthread_self()|0); + $36 = (__pthread_isduecanceled($35)|0); + $37 = ($36|0)==(0); + if (!($37)) { + $$138$ph70 = 125; + break; + } + $38 = (+__pthread_msecs_until($3)); + $39 = !($38 <= 0.0); + if (!($39)) { + $$138$ph70 = 110; + break; + } + $40 = $38 > 100.0; + $$0$us53 = $40 ? 100.0 : $38; + $41 = (_emscripten_futex_wait(($0|0),($1|0),(+$$0$us53))|0); + $42 = (0 - ($41))|0; + switch ($42|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph70 = $42; + break L34; + break; + } + default: { + $$138 = 0; + label = 21; + break L34; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph70; + STACKTOP = sp;return ($$138|0); } -function _srand($0) { +function __pthread_isduecanceled($0) { $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + var $1 = 0, $2 = 0, $3 = 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; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(2); + $3 = $2&1; + return ($3|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; +function __pthread_msecs_until($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = 14152; - $1 = $0; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + (_gettimeofday(($1|0),(0|0))|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); + $3 = (+($2|0)); + $4 = $3 * 1000.0; + $5 = ((($1)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (+($6|0)); + $8 = $7 * 0.001; + $9 = $4 + $8; + $10 = HEAP32[$0>>2]|0; + $11 = (+($10|0)); + $12 = $11 * 1000.0; + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (+($14|0)); + $16 = $15 * 9.9999999999999995E-7; + $17 = $12 + $16; + $18 = $17 - $9; + STACKTOP = sp;return (+$18); } -function _vprintf($0,$1) { +function ___pthread_mutex_trylock($0) { $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[806]|0; - $3 = (_vfprintf($2,$0,$1)|0); - return ($3|0); + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = $5 & 16; + $$0 = $6; + return ($$0|0); + } else { + $7 = (___pthread_mutex_trylock_owner($0)|0); + $$0 = $7; + return ($$0|0); + } + return (0)|0; } -function _strcspn($0,$1) { +function ___pthread_mutex_trylock_owner($0) { $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; + var $$ = 0, $$1 = 0, $$154 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond57 = 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; - } - } - } + $1 = HEAP32[$0>>2]|0; + $2 = (_pthread_self()|0); + $3 = ((($2)) + 52|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 4|0); + $6 = (Atomics_load(HEAP32,$5>>2)|0); + $7 = $6 & 2147483647; + $8 = ($7|0)==($4|0); + $9 = $1 & 3; + $10 = ($9|0)==(1); + $or$cond = $10 & $8; + if ($or$cond) { + $11 = ((($0)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)>(2147483646); + if ($13) { + $$1 = 11; + return ($$1|0); + } + $14 = (($12) + 1)|0; + HEAP32[$11>>2] = $14; + $$1 = 0; + return ($$1|0); + } + $15 = ($7|0)==(2147483647); + if ($15) { + $$1 = 131; + return ($$1|0); + } + $16 = HEAP32[$0>>2]|0; + $17 = $16 & 128; + $18 = ($17|0)==(0); + if ($18) { + $$154 = $4; + } else { + $19 = ((($2)) + 172|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + HEAP32[$19>>2] = -12; + } + $22 = ((($0)) + 8|0); + $23 = (Atomics_load(HEAP32,$22>>2)|0); + $24 = ($23|0)==(0); + $25 = $4 | -2147483648; + $$ = $24 ? $4 : $25; + $26 = ((($0)) + 16|0); + $27 = ((($2)) + 176|0); + Atomics_store(HEAP32,$27>>2,$26)|0; + $$154 = $$; + } + $28 = ($7|0)!=(0); + if ($28) { + $29 = $6 & 1073741824; + $30 = ($29|0)==(0); + $31 = $1 & 4; + $32 = ($31|0)==(0); + $or$cond57 = $32 | $30; + if (!($or$cond57)) { + label = 11; + } + } else { + label = 11; + } + if ((label|0) == 11) { + $33 = (Atomics_compareExchange(HEAP32, $5>>2, $6, $$154)|0); + $34 = ($33|0)==($6|0); + if ($34) { + $36 = ((($2)) + 168|0); + $37 = (Atomics_load(HEAP32,$36>>2)|0); + $38 = ((($0)) + 16|0); + HEAP32[$38>>2] = $37; + $39 = ((($0)) + 12|0); + HEAP32[$39>>2] = $36; + $40 = ($37|0)==($36|0); + if (!($40)) { + $41 = ((($37)) + -4|0); + Atomics_store(HEAP32,$41>>2,$38)|0; + } + Atomics_store(HEAP32,$36>>2,$38)|0; + $42 = ((($2)) + 176|0); + Atomics_store(HEAP32,$42>>2,0)|0; + if (!($28)) { + $$1 = 0; + return ($$1|0); } + $43 = ((($0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = HEAP32[$0>>2]|0; + $45 = $44 | 8; + HEAP32[$0>>2] = $45; + $$1 = 130; + return ($$1|0); } - } 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); + $35 = ((($2)) + 176|0); + Atomics_store(HEAP32,$35>>2,0)|0; + $$1 = 16; + return ($$1|0); } -function _strcat($0,$1) { +function _pthread_mutexattr_destroy($0) { $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; + var label = 0, sp = 0; sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($0) + ($2)|0); - (_strcpy($3,$1)|0); - return ($0|0); + return 0; } -function _strtok($0,$1) { +function _pthread_mutexattr_init($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$0>>2] = 0; + return 0; +} +function _pthread_mutex_init($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; + var $$sroa$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = ($0|0)==(0|0); + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$sroa$0 = sp; + ;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[$$sroa$0+20>>2]=0|0;HEAP32[$$sroa$0+24>>2]=0|0; + ;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;HEAP32[$0+20>>2]=HEAP32[$$sroa$0+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$$sroa$0+24>>2]|0; + $2 = ($1|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; + STACKTOP = sp;return 0; } - 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); + $3 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $3; + STACKTOP = sp;return 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; + var $$$0192$i = 0, $$$0193$i = 0, $$$4230$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i17$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0198 = 0, $$0200 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024363$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, $$1 = 0, $$1196$i = 0; + var $$1198$i = 0, $$124462$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, $$2 = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i202 = 0, $$3229$i = 0, $$3235$i = 0, $$3350$i = 0; + var $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0, $$4230$i = 0, $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$7$i = 0, $$7239$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i18$i = 0, $$pre$i211 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i19$iZ2D = 0; + var $$pre$phi$i212Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i205 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0; + var $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $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; + var $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $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; + var $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $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, $1059 = 0, $106 = 0; + var $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0; + var $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 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, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0; + var $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0; + var $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0; + var $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, $618 = 0, $619 = 0, $62 = 0, $620 = 0; + var $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, $636 = 0, $637 = 0, $638 = 0, $639 = 0; + var $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, $654 = 0, $655 = 0, $656 = 0, $657 = 0; + var $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, $672 = 0, $673 = 0, $674 = 0, $675 = 0; + var $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, $690 = 0, $691 = 0, $692 = 0, $693 = 0; + var $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, $708 = 0, $709 = 0, $71 = 0, $710 = 0; + var $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, $726 = 0, $727 = 0, $728 = 0, $729 = 0; + var $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, $744 = 0, $745 = 0, $746 = 0, $747 = 0; + var $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, $762 = 0, $763 = 0, $764 = 0, $765 = 0; + var $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, $780 = 0, $781 = 0, $782 = 0, $783 = 0; + var $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, $799 = 0, $8 = 0, $80 = 0, $800 = 0; + var $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, $816 = 0, $817 = 0, $818 = 0, $819 = 0; + var $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, $834 = 0, $835 = 0, $836 = 0, $837 = 0; + var $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, $852 = 0, $853 = 0, $854 = 0, $855 = 0; + var $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, $870 = 0, $871 = 0, $872 = 0, $873 = 0; + var $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, $889 = 0, $89 = 0, $890 = 0, $891 = 0; + var $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, $906 = 0, $907 = 0, $908 = 0, $909 = 0; + var $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, $924 = 0, $925 = 0, $926 = 0, $927 = 0; + var $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, $942 = 0, $943 = 0, $944 = 0, $945 = 0; + var $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, $960 = 0, $961 = 0, $962 = 0, $963 = 0; + var $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, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0; + var $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, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0; + var $cond$i$i = 0, $cond$i209 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i21$i = 0, $not$$i210 = 0, $not$1$i = 0, $not$1$i204 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0, $or$cond$i = 0, $or$cond$i213 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond12$i = 0, $or$cond2$i = 0; + var $or$cond2$i214 = 0, $or$cond43$i = 0, $or$cond5$i = 0, $or$cond7$i = 0, $or$cond9$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); + $1 = sp + 4|0; + $2 = sp; + $3 = HEAP32[8861]|0; + $4 = ($3|0)==(0); + if ($4) { + (___pthread_mutex_lock(35468)|0); + $5 = HEAP32[8861]|0; + $6 = ($5|0)==(0); + if ($6) { + HEAP32[(35452)>>2] = 4096; + HEAP32[(35448)>>2] = 4096; + HEAP32[(35456)>>2] = -1; + HEAP32[(35460)>>2] = -1; + HEAP32[(35464)>>2] = 2; + HEAP32[(35940)>>2] = 2; + $7 = (_pthread_mutexattr_init($1)|0); + $8 = ($7|0)==(0); + if ($8) { + $9 = (_pthread_mutex_init((35944),$1)|0); + $10 = ($9|0)==(0); + if ($10) { + } + } + $11 = $2; + $12 = $11 & -16; + $13 = $12 ^ 1431655768; + HEAP32[$2>>2] = $13; + Atomics_store(HEAP32,8861,$13)|0; + } + (___pthread_mutex_unlock(35468)|0); + } + $14 = HEAP32[(35940)>>2]|0; + $15 = $14 & 2; + $16 = ($15|0)==(0); + if (!($16)) { + $17 = (___pthread_mutex_lock((35944))|0); + $18 = ($17|0)==(0); + if (!($18)) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + } + $19 = ($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); + if ($19) { + $20 = ($0>>>0)<(11); + $21 = (($0) + 11)|0; + $22 = $21 & -8; + $23 = $20 ? 16 : $22; + $24 = $23 >>> 3; + $25 = HEAP32[8874]|0; + $26 = $25 >>> $24; + $27 = $26 & 3; + $28 = ($27|0)==(0); + if (!($28)) { + $29 = $26 & 1; + $30 = $29 ^ 1; + $31 = (($30) + ($24))|0; + $32 = $31 << 1; + $33 = (35536 + ($32<<2)|0); + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($33|0)==($37|0); do { - if ($21) { - $22 = 1 << $14; - $23 = $22 ^ -1; - $24 = $8 & $23; - HEAP32[8296] = $24; + if ($38) { + $39 = 1 << $31; + $40 = $39 ^ -1; + $41 = $25 & $40; + HEAP32[8874] = $41; } else { - $25 = HEAP32[(33200)>>2]|0; - $26 = ($20>>>0)<($25>>>0); - if ($26) { + $42 = HEAP32[(35512)>>2]|0; + $43 = ($37>>>0)<($42>>>0); + if ($43) { _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; + $44 = ((($37)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==($35|0); + if ($46) { + HEAP32[$44>>2] = $33; + HEAP32[$34>>2] = $37; break; } else { _abort(); @@ -24083,79 +30354,79 @@ function _malloc($0) { } } } 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); + $47 = $31 << 3; + $48 = $47 | 3; + $49 = ((($35)) + 4|0); + HEAP32[$49>>2] = $48; + $50 = (($35) + ($47)|0); + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = $52 | 1; + HEAP32[$51>>2] = $53; + $$2 = $36; + break; } - $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); + $54 = HEAP32[(35504)>>2]|0; + $55 = ($23>>>0)>($54>>>0); + if ($55) { + $56 = ($26|0)==(0); + if (!($56)) { + $57 = $26 << $24; + $58 = 2 << $24; + $59 = (0 - ($58))|0; + $60 = $58 | $59; + $61 = $57 & $60; + $62 = (0 - ($61))|0; + $63 = $61 & $62; + $64 = (($63) + -1)|0; + $65 = $64 >>> 12; + $66 = $65 & 16; + $67 = $64 >>> $66; + $68 = $67 >>> 5; + $69 = $68 & 8; + $70 = $69 | $66; + $71 = $67 >>> $69; + $72 = $71 >>> 2; + $73 = $72 & 4; + $74 = $70 | $73; + $75 = $71 >>> $73; + $76 = $75 >>> 1; + $77 = $76 & 2; + $78 = $74 | $77; + $79 = $75 >>> $77; + $80 = $79 >>> 1; + $81 = $80 & 1; + $82 = $78 | $81; + $83 = $79 >>> $81; + $84 = (($82) + ($83))|0; + $85 = $84 << 1; + $86 = (35536 + ($85<<2)|0); + $87 = ((($86)) + 8|0); + $88 = HEAP32[$87>>2]|0; + $89 = ((($88)) + 8|0); + $90 = HEAP32[$89>>2]|0; + $91 = ($86|0)==($90|0); do { - if ($74) { - $75 = 1 << $67; - $76 = $75 ^ -1; - $77 = $8 & $76; - HEAP32[8296] = $77; - $98 = $77; + if ($91) { + $92 = 1 << $84; + $93 = $92 ^ -1; + $94 = $25 & $93; + HEAP32[8874] = $94; + $115 = $94; } else { - $78 = HEAP32[(33200)>>2]|0; - $79 = ($73>>>0)<($78>>>0); - if ($79) { + $95 = HEAP32[(35512)>>2]|0; + $96 = ($90>>>0)<($95>>>0); + if ($96) { _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; + $97 = ((($90)) + 12|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==($88|0); + if ($99) { + HEAP32[$97>>2] = $86; + HEAP32[$87>>2] = $90; + $115 = $25; break; } else { _abort(); @@ -24163,178 +30434,179 @@ function _malloc($0) { } } } 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; + $100 = $84 << 3; + $101 = (($100) - ($23))|0; + $102 = $23 | 3; + $103 = ((($88)) + 4|0); + HEAP32[$103>>2] = $102; + $104 = (($88) + ($23)|0); + $105 = $101 | 1; + $106 = ((($104)) + 4|0); + HEAP32[$106>>2] = $105; + $107 = (($104) + ($101)|0); + HEAP32[$107>>2] = $101; + $108 = ($54|0)==(0); + if (!($108)) { + $109 = HEAP32[(35516)>>2]|0; + $110 = $54 >>> 3; + $111 = $110 << 1; + $112 = (35536 + ($111<<2)|0); + $113 = 1 << $110; + $114 = $115 & $113; + $116 = ($114|0)==(0); + if ($116) { + $117 = $115 | $113; + HEAP32[8874] = $117; + $$pre = ((($112)) + 8|0); + $$0200 = $112;$$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) { + $118 = ((($112)) + 8|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[(35512)>>2]|0; + $121 = ($119>>>0)<($120>>>0); + if ($121) { _abort(); // unreachable; } else { - $$0199 = $102;$$pre$phiZ2D = $101; + $$0200 = $119;$$pre$phiZ2D = $118; } } - 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[$$pre$phiZ2D>>2] = $109; + $122 = ((($$0200)) + 12|0); + HEAP32[$122>>2] = $109; + $123 = ((($109)) + 8|0); + HEAP32[$123>>2] = $$0200; + $124 = ((($109)) + 12|0); + HEAP32[$124>>2] = $112; } - 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; + HEAP32[(35504)>>2] = $101; + HEAP32[(35516)>>2] = $104; + $$2 = $89; + break; + } + $125 = HEAP32[(35500)>>2]|0; + $126 = ($125|0)==(0); + if ($126) { + $$0198 = $23; + label = 153; } 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); + $127 = (0 - ($125))|0; + $128 = $125 & $127; + $129 = (($128) + -1)|0; + $130 = $129 >>> 12; + $131 = $130 & 16; + $132 = $129 >>> $131; + $133 = $132 >>> 5; + $134 = $133 & 8; + $135 = $134 | $131; + $136 = $132 >>> $134; + $137 = $136 >>> 2; + $138 = $137 & 4; + $139 = $135 | $138; + $140 = $136 >>> $138; + $141 = $140 >>> 1; + $142 = $141 & 2; + $143 = $139 | $142; + $144 = $140 >>> $142; + $145 = $144 >>> 1; + $146 = $145 & 1; + $147 = $143 | $146; + $148 = $144 >>> $146; + $149 = (($147) + ($148))|0; + $150 = (35800 + ($149<<2)|0); + $151 = HEAP32[$150>>2]|0; + $152 = ((($151)) + 4|0); + $153 = HEAP32[$152>>2]|0; + $154 = $153 & -8; + $155 = (($154) - ($23))|0; + $156 = ((($151)) + 16|0); + $157 = HEAP32[$156>>2]|0; + $not$5$i = ($157|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; + $158 = (((($151)) + 16|0) + ($$sink16$i<<2)|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==(0|0); + if ($160) { + $$0192$lcssa$i = $151;$$0193$lcssa$i = $155; } else { - $$01928$i = $134;$$01937$i = $138;$145 = $142; + $$01928$i = $151;$$01937$i = $155;$162 = $159; 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); + $161 = ((($162)) + 4|0); + $163 = HEAP32[$161>>2]|0; + $164 = $163 & -8; + $165 = (($164) - ($23))|0; + $166 = ($165>>>0)<($$01937$i>>>0); + $$$0193$i = $166 ? $165 : $$01937$i; + $$$0192$i = $166 ? $162 : $$01928$i; + $167 = ((($162)) + 16|0); + $168 = HEAP32[$167>>2]|0; + $not$$i = ($168|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) { + $169 = (((($162)) + 16|0) + ($$sink1$i<<2)|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; break; } else { - $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$162 = $170; } } } - $155 = HEAP32[(33200)>>2]|0; - $156 = ($$0192$lcssa$i>>>0)<($155>>>0); - if ($156) { + $172 = HEAP32[(35512)>>2]|0; + $173 = ($$0192$lcssa$i>>>0)<($172>>>0); + if ($173) { _abort(); // unreachable; } - $157 = (($$0192$lcssa$i) + ($6)|0); - $158 = ($$0192$lcssa$i>>>0)<($157>>>0); - if (!($158)) { + $174 = (($$0192$lcssa$i) + ($23)|0); + $175 = ($$0192$lcssa$i>>>0)<($174>>>0); + if (!($175)) { _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); + $176 = ((($$0192$lcssa$i)) + 24|0); + $177 = HEAP32[$176>>2]|0; + $178 = ((($$0192$lcssa$i)) + 12|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|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) { + if ($180) { + $190 = ((($$0192$lcssa$i)) + 20|0); + $191 = HEAP32[$190>>2]|0; + $192 = ($191|0)==(0|0); + if ($192) { + $193 = ((($$0192$lcssa$i)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $195 = ($194|0)==(0|0); + if ($195) { $$3$i = 0; break; } else { - $$1196$i = $177;$$1198$i = $176; + $$1196$i = $194;$$1198$i = $193; } } else { - $$1196$i = $174;$$1198$i = $173; + $$1196$i = $191;$$1198$i = $190; } 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; + $196 = ((($$1196$i)) + 20|0); + $197 = HEAP32[$196>>2]|0; + $198 = ($197|0)==(0|0); + if (!($198)) { + $$1196$i = $197;$$1198$i = $196; continue; } - $182 = ((($$1196$i)) + 16|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)==(0|0); - if ($184) { + $199 = ((($$1196$i)) + 16|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($200|0)==(0|0); + if ($201) { break; } else { - $$1196$i = $183;$$1198$i = $182; + $$1196$i = $200;$$1198$i = $199; } } - $185 = ($$1198$i>>>0)<($155>>>0); - if ($185) { + $202 = ($$1198$i>>>0)<($172>>>0); + if ($202) { _abort(); // unreachable; } else { @@ -24343,27 +30615,27 @@ function _malloc($0) { break; } } else { - $164 = ((($$0192$lcssa$i)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165>>>0)<($155>>>0); - if ($166) { + $181 = ((($$0192$lcssa$i)) + 8|0); + $182 = HEAP32[$181>>2]|0; + $183 = ($182>>>0)<($172>>>0); + if ($183) { _abort(); // unreachable; } - $167 = ((($165)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==($$0192$lcssa$i|0); - if (!($169)) { + $184 = ((($182)) + 12|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($185|0)==($$0192$lcssa$i|0); + if (!($186)) { _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; + $187 = ((($179)) + 8|0); + $188 = HEAP32[$187>>2]|0; + $189 = ($188|0)==($$0192$lcssa$i|0); + if ($189) { + HEAP32[$184>>2] = $179; + HEAP32[$187>>2] = $182; + $$3$i = $179; break; } else { _abort(); @@ -24371,397 +30643,401 @@ function _malloc($0) { } } } 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); + $203 = ($177|0)==(0|0); + L85: do { + if (!($203)) { + $204 = ((($$0192$lcssa$i)) + 28|0); + $205 = HEAP32[$204>>2]|0; + $206 = (35800 + ($205<<2)|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($$0192$lcssa$i|0)==($207|0); do { - if ($191) { - HEAP32[$189>>2] = $$3$i; + if ($208) { + HEAP32[$206>>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; + $209 = 1 << $205; + $210 = $209 ^ -1; + $211 = $125 & $210; + HEAP32[(35500)>>2] = $211; + break L85; } } else { - $195 = HEAP32[(33200)>>2]|0; - $196 = ($160>>>0)<($195>>>0); - if ($196) { + $212 = HEAP32[(35512)>>2]|0; + $213 = ($177>>>0)<($212>>>0); + if ($213) { _abort(); // unreachable; } else { - $197 = ((($160)) + 16|0); - $198 = HEAP32[$197>>2]|0; - $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $214 = ((($177)) + 16|0); + $215 = HEAP32[$214>>2]|0; + $not$1$i = ($215|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; + $216 = (((($177)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$216>>2] = $$3$i; + $217 = ($$3$i|0)==(0|0); + if ($217) { + break L85; } else { break; } } } } while(0); - $201 = HEAP32[(33200)>>2]|0; - $202 = ($$3$i>>>0)<($201>>>0); - if ($202) { + $218 = HEAP32[(35512)>>2]|0; + $219 = ($$3$i>>>0)<($218>>>0); + if ($219) { _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); + $220 = ((($$3$i)) + 24|0); + HEAP32[$220>>2] = $177; + $221 = ((($$0192$lcssa$i)) + 16|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); do { - if (!($206)) { - $207 = ($205>>>0)<($201>>>0); - if ($207) { + if (!($223)) { + $224 = ($222>>>0)<($218>>>0); + if ($224) { _abort(); // unreachable; } else { - $208 = ((($$3$i)) + 16|0); - HEAP32[$208>>2] = $205; - $209 = ((($205)) + 24|0); - HEAP32[$209>>2] = $$3$i; + $225 = ((($$3$i)) + 16|0); + HEAP32[$225>>2] = $222; + $226 = ((($222)) + 24|0); + HEAP32[$226>>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) { + $227 = ((($$0192$lcssa$i)) + 20|0); + $228 = HEAP32[$227>>2]|0; + $229 = ($228|0)==(0|0); + if (!($229)) { + $230 = HEAP32[(35512)>>2]|0; + $231 = ($228>>>0)<($230>>>0); + if ($231) { _abort(); // unreachable; } else { - $215 = ((($$3$i)) + 20|0); - HEAP32[$215>>2] = $211; - $216 = ((($211)) + 24|0); - HEAP32[$216>>2] = $$3$i; + $232 = ((($$3$i)) + 20|0); + HEAP32[$232>>2] = $228; + $233 = ((($228)) + 24|0); + HEAP32[$233>>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; + $234 = ($$0193$lcssa$i>>>0)<(16); + if ($234) { + $235 = (($$0193$lcssa$i) + ($23))|0; + $236 = $235 | 3; + $237 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$237>>2] = $236; + $238 = (($$0192$lcssa$i) + ($235)|0); + $239 = ((($238)) + 4|0); + $240 = HEAP32[$239>>2]|0; + $241 = $240 | 1; + HEAP32[$239>>2] = $241; } 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; + $242 = $23 | 3; + $243 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$243>>2] = $242; + $244 = $$0193$lcssa$i | 1; + $245 = ((($174)) + 4|0); + HEAP32[$245>>2] = $244; + $246 = (($174) + ($$0193$lcssa$i)|0); + HEAP32[$246>>2] = $$0193$lcssa$i; + $247 = ($54|0)==(0); + if (!($247)) { + $248 = HEAP32[(35516)>>2]|0; + $249 = $54 >>> 3; + $250 = $249 << 1; + $251 = (35536 + ($250<<2)|0); + $252 = 1 << $249; + $253 = $25 & $252; + $254 = ($253|0)==(0); + if ($254) { + $255 = $25 | $252; + HEAP32[8874] = $255; + $$pre$i = ((($251)) + 8|0); + $$0189$i = $251;$$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) { + $256 = ((($251)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = HEAP32[(35512)>>2]|0; + $259 = ($257>>>0)<($258>>>0); + if ($259) { _abort(); // unreachable; } else { - $$0189$i = $240;$$pre$phi$iZ2D = $239; + $$0189$i = $257;$$pre$phi$iZ2D = $256; } } - 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; + HEAP32[$$pre$phi$iZ2D>>2] = $248; + $260 = ((($$0189$i)) + 12|0); + HEAP32[$260>>2] = $248; + $261 = ((($248)) + 8|0); + HEAP32[$261>>2] = $$0189$i; + $262 = ((($248)) + 12|0); + HEAP32[$262>>2] = $251; + } + HEAP32[(35504)>>2] = $$0193$lcssa$i; + HEAP32[(35516)>>2] = $174; } - $246 = ((($$0192$lcssa$i)) + 8|0); - $$0 = $246; - STACKTOP = sp;return ($$0|0); + $263 = ((($$0192$lcssa$i)) + 8|0); + $$2 = $263; } } else { - $$0197 = $6; + $$0198 = $23; + label = 153; } } else { - $247 = ($0>>>0)>(4294967231); - if ($247) { - $$0197 = -1; + $264 = ($0>>>0)>(4294967231); + if ($264) { + $$0198 = -1; + label = 153; } else { - $248 = (($0) + 11)|0; - $249 = $248 & -8; - $250 = HEAP32[(33188)>>2]|0; - $251 = ($250|0)==(0); - if ($251) { - $$0197 = $249; + $265 = (($0) + 11)|0; + $266 = $265 & -8; + $267 = HEAP32[(35500)>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$0198 = $266; + label = 153; } else { - $252 = (0 - ($249))|0; - $253 = $248 >>> 8; - $254 = ($253|0)==(0); - if ($254) { + $269 = (0 - ($266))|0; + $270 = $265 >>> 8; + $271 = ($270|0)==(0); + if ($271) { $$0358$i = 0; } else { - $255 = ($249>>>0)>(16777215); - if ($255) { + $272 = ($266>>>0)>(16777215); + if ($272) { $$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; + $273 = (($270) + 1048320)|0; + $274 = $273 >>> 16; + $275 = $274 & 8; + $276 = $270 << $275; + $277 = (($276) + 520192)|0; + $278 = $277 >>> 16; + $279 = $278 & 4; + $280 = $279 | $275; + $281 = $276 << $279; + $282 = (($281) + 245760)|0; + $283 = $282 >>> 16; + $284 = $283 & 2; + $285 = $280 | $284; + $286 = (14 - ($285))|0; + $287 = $281 << $284; + $288 = $287 >>> 15; + $289 = (($286) + ($288))|0; + $290 = $289 << 1; + $291 = (($289) + 7)|0; + $292 = $266 >>> $291; + $293 = $292 & 1; + $294 = $293 | $290; + $$0358$i = $294; } } - $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; + $295 = (35800 + ($$0358$i<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($296|0)==(0|0); + L128: do { + if ($297) { + $$2355$i = 0;$$3$i202 = 0;$$3350$i = $269; + label = 90; } 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; + $298 = ($$0358$i|0)==(31); + $299 = $$0358$i >>> 1; + $300 = (25 - ($299))|0; + $301 = $298 ? 0 : $300; + $302 = $266 << $301; + $$0342$i = 0;$$0347$i = $269;$$0353$i = $296;$$0359$i = $302;$$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) { + $303 = ((($$0353$i)) + 4|0); + $304 = HEAP32[$303>>2]|0; + $305 = $304 & -8; + $306 = (($305) - ($266))|0; + $307 = ($306>>>0)<($$0347$i>>>0); + if ($307) { + $308 = ($306|0)==(0); + if ($308) { $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; - label = 85; - break L117; + label = 94; + break L128; } else { - $$1343$i = $$0353$i;$$1348$i = $289; + $$1343$i = $$0353$i;$$1348$i = $306; } } 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; + $309 = ((($$0353$i)) + 20|0); + $310 = HEAP32[$309>>2]|0; + $311 = $$0359$i >>> 31; + $312 = (((($$0353$i)) + 16|0) + ($311<<2)|0); + $313 = HEAP32[$312>>2]|0; + $314 = ($310|0)==(0|0); + $315 = ($310|0)==($313|0); + $or$cond2$i = $314 | $315; + $$1363$i = $or$cond2$i ? $$0362$i : $310; + $316 = ($313|0)==(0|0); + $not$8$i = $316 ^ 1; + $317 = $not$8$i&1; + $$0359$$i = $$0359$i << $317; + if ($316) { + $$2355$i = $$1363$i;$$3$i202 = $$1343$i;$$3350$i = $$1348$i; + label = 90; break; } else { - $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $313;$$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 ((label|0) == 90) { + $318 = ($$2355$i|0)==(0|0); + $319 = ($$3$i202|0)==(0|0); + $or$cond$i = $318 & $319; 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; + $320 = 2 << $$0358$i; + $321 = (0 - ($320))|0; + $322 = $320 | $321; + $323 = $267 & $322; + $324 = ($323|0)==(0); + if ($324) { + $$0198 = $266; + label = 153; 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; + $325 = (0 - ($323))|0; + $326 = $323 & $325; + $327 = (($326) + -1)|0; + $328 = $327 >>> 12; + $329 = $328 & 16; + $330 = $327 >>> $329; + $331 = $330 >>> 5; + $332 = $331 & 8; + $333 = $332 | $329; + $334 = $330 >>> $332; + $335 = $334 >>> 2; + $336 = $335 & 4; + $337 = $333 | $336; + $338 = $334 >>> $336; + $339 = $338 >>> 1; + $340 = $339 & 2; + $341 = $337 | $340; + $342 = $338 >>> $340; + $343 = $342 >>> 1; + $344 = $343 & 1; + $345 = $341 | $344; + $346 = $342 >>> $344; + $347 = (($345) + ($346))|0; + $348 = (35800 + ($347<<2)|0); + $349 = HEAP32[$348>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $349; } else { - $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + $$4$ph$i = $$3$i202;$$4357$ph$i = $$2355$i; } - $333 = ($$4357$ph$i|0)==(0|0); - if ($333) { + $350 = ($$4357$ph$i|0)==(0|0); + if ($350) { $$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; + label = 94; } } - if ((label|0) == 85) { + if ((label|0) == 94) { 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) { + $351 = ((($$435713$i)) + 4|0); + $352 = HEAP32[$351>>2]|0; + $353 = $352 & -8; + $354 = (($353) - ($266))|0; + $355 = ($354>>>0)<($$435114$i>>>0); + $$$4351$i = $355 ? $354 : $$435114$i; + $$4357$$4$i = $355 ? $$435713$i : $$415$i; + $356 = ((($$435713$i)) + 16|0); + $357 = HEAP32[$356>>2]|0; + $not$1$i204 = ($357|0)==(0|0); + $$sink2$i205 = $not$1$i204&1; + $358 = (((($$435713$i)) + 16|0) + ($$sink2$i205<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0|0); + if ($360) { $$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; + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $359; + label = 94; } } } - $344 = ($$4$lcssa$i|0)==(0|0); - if ($344) { - $$0197 = $249; + $361 = ($$4$lcssa$i|0)==(0|0); + if ($361) { + $$0198 = $266; + label = 153; } 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) { + $362 = HEAP32[(35504)>>2]|0; + $363 = (($362) - ($266))|0; + $364 = ($$4351$lcssa$i>>>0)<($363>>>0); + if ($364) { + $365 = HEAP32[(35512)>>2]|0; + $366 = ($$4$lcssa$i>>>0)<($365>>>0); + if ($366) { _abort(); // unreachable; } - $350 = (($$4$lcssa$i) + ($249)|0); - $351 = ($$4$lcssa$i>>>0)<($350>>>0); - if (!($351)) { + $367 = (($$4$lcssa$i) + ($266)|0); + $368 = ($$4$lcssa$i>>>0)<($367>>>0); + if (!($368)) { _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); + $369 = ((($$4$lcssa$i)) + 24|0); + $370 = HEAP32[$369>>2]|0; + $371 = ((($$4$lcssa$i)) + 12|0); + $372 = HEAP32[$371>>2]|0; + $373 = ($372|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) { + if ($373) { + $383 = ((($$4$lcssa$i)) + 20|0); + $384 = HEAP32[$383>>2]|0; + $385 = ($384|0)==(0|0); + if ($385) { + $386 = ((($$4$lcssa$i)) + 16|0); + $387 = HEAP32[$386>>2]|0; + $388 = ($387|0)==(0|0); + if ($388) { $$3372$i = 0; break; } else { - $$1370$i = $370;$$1374$i = $369; + $$1370$i = $387;$$1374$i = $386; } } else { - $$1370$i = $367;$$1374$i = $366; + $$1370$i = $384;$$1374$i = $383; } 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; + $389 = ((($$1370$i)) + 20|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($390|0)==(0|0); + if (!($391)) { + $$1370$i = $390;$$1374$i = $389; continue; } - $375 = ((($$1370$i)) + 16|0); - $376 = HEAP32[$375>>2]|0; - $377 = ($376|0)==(0|0); - if ($377) { + $392 = ((($$1370$i)) + 16|0); + $393 = HEAP32[$392>>2]|0; + $394 = ($393|0)==(0|0); + if ($394) { break; } else { - $$1370$i = $376;$$1374$i = $375; + $$1370$i = $393;$$1374$i = $392; } } - $378 = ($$1374$i>>>0)<($348>>>0); - if ($378) { + $395 = ($$1374$i>>>0)<($365>>>0); + if ($395) { _abort(); // unreachable; } else { @@ -24770,27 +31046,27 @@ function _malloc($0) { break; } } else { - $357 = ((($$4$lcssa$i)) + 8|0); - $358 = HEAP32[$357>>2]|0; - $359 = ($358>>>0)<($348>>>0); - if ($359) { + $374 = ((($$4$lcssa$i)) + 8|0); + $375 = HEAP32[$374>>2]|0; + $376 = ($375>>>0)<($365>>>0); + if ($376) { _abort(); // unreachable; } - $360 = ((($358)) + 12|0); - $361 = HEAP32[$360>>2]|0; - $362 = ($361|0)==($$4$lcssa$i|0); - if (!($362)) { + $377 = ((($375)) + 12|0); + $378 = HEAP32[$377>>2]|0; + $379 = ($378|0)==($$4$lcssa$i|0); + if (!($379)) { _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; + $380 = ((($372)) + 8|0); + $381 = HEAP32[$380>>2]|0; + $382 = ($381|0)==($$4$lcssa$i|0); + if ($382) { + HEAP32[$377>>2] = $372; + HEAP32[$380>>2] = $375; + $$3372$i = $372; break; } else { _abort(); @@ -24798,273 +31074,275 @@ function _malloc($0) { } } } while(0); - $379 = ($353|0)==(0|0); - L164: do { - if ($379) { - $470 = $250; + $396 = ($370|0)==(0|0); + L175: do { + if ($396) { + $487 = $267; } 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); + $397 = ((($$4$lcssa$i)) + 28|0); + $398 = HEAP32[$397>>2]|0; + $399 = (35800 + ($398<<2)|0); + $400 = HEAP32[$399>>2]|0; + $401 = ($$4$lcssa$i|0)==($400|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; + if ($401) { + HEAP32[$399>>2] = $$3372$i; + $cond$i209 = ($$3372$i|0)==(0|0); + if ($cond$i209) { + $402 = 1 << $398; + $403 = $402 ^ -1; + $404 = $267 & $403; + HEAP32[(35500)>>2] = $404; + $487 = $404; + break L175; } } else { - $388 = HEAP32[(33200)>>2]|0; - $389 = ($353>>>0)<($388>>>0); - if ($389) { + $405 = HEAP32[(35512)>>2]|0; + $406 = ($370>>>0)<($405>>>0); + if ($406) { _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; + $407 = ((($370)) + 16|0); + $408 = HEAP32[$407>>2]|0; + $not$$i210 = ($408|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i210&1; + $409 = (((($370)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$409>>2] = $$3372$i; + $410 = ($$3372$i|0)==(0|0); + if ($410) { + $487 = $267; + break L175; } else { break; } } } } while(0); - $394 = HEAP32[(33200)>>2]|0; - $395 = ($$3372$i>>>0)<($394>>>0); - if ($395) { + $411 = HEAP32[(35512)>>2]|0; + $412 = ($$3372$i>>>0)<($411>>>0); + if ($412) { _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); + $413 = ((($$3372$i)) + 24|0); + HEAP32[$413>>2] = $370; + $414 = ((($$4$lcssa$i)) + 16|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($415|0)==(0|0); do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { + if (!($416)) { + $417 = ($415>>>0)<($411>>>0); + if ($417) { _abort(); // unreachable; } else { - $401 = ((($$3372$i)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $$3372$i; + $418 = ((($$3372$i)) + 16|0); + HEAP32[$418>>2] = $415; + $419 = ((($415)) + 24|0); + HEAP32[$419>>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; + $420 = ((($$4$lcssa$i)) + 20|0); + $421 = HEAP32[$420>>2]|0; + $422 = ($421|0)==(0|0); + if ($422) { + $487 = $267; } else { - $406 = HEAP32[(33200)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { + $423 = HEAP32[(35512)>>2]|0; + $424 = ($421>>>0)<($423>>>0); + if ($424) { _abort(); // unreachable; } else { - $408 = ((($$3372$i)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $$3372$i; - $470 = $250; + $425 = ((($$3372$i)) + 20|0); + HEAP32[$425>>2] = $421; + $426 = ((($421)) + 24|0); + HEAP32[$426>>2] = $$3372$i; + $487 = $267; break; } } } } while(0); - $410 = ($$4351$lcssa$i>>>0)<(16); + $427 = ($$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; + if ($427) { + $428 = (($$4351$lcssa$i) + ($266))|0; + $429 = $428 | 3; + $430 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$430>>2] = $429; + $431 = (($$4$lcssa$i) + ($428)|0); + $432 = ((($431)) + 4|0); + $433 = HEAP32[$432>>2]|0; + $434 = $433 | 1; + HEAP32[$432>>2] = $434; } 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) { + $435 = $266 | 3; + $436 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$436>>2] = $435; + $437 = $$4351$lcssa$i | 1; + $438 = ((($367)) + 4|0); + HEAP32[$438>>2] = $437; + $439 = (($367) + ($$4351$lcssa$i)|0); + HEAP32[$439>>2] = $$4351$lcssa$i; + $440 = $$4351$lcssa$i >>> 3; + $441 = ($$4351$lcssa$i>>>0)<(256); + if ($441) { + $442 = $440 << 1; + $443 = (35536 + ($442<<2)|0); + $444 = HEAP32[8874]|0; + $445 = 1 << $440; + $446 = $444 & $445; + $447 = ($446|0)==(0); + do { + if ($447) { + $448 = $444 | $445; + HEAP32[8874] = $448; + $$pre$i211 = ((($443)) + 8|0); + $$0368$i = $443;$$pre$phi$i212Z2D = $$pre$i211; + } else { + $449 = ((($443)) + 8|0); + $450 = HEAP32[$449>>2]|0; + $451 = HEAP32[(35512)>>2]|0; + $452 = ($450>>>0)<($451>>>0); + if (!($452)) { + $$0368$i = $450;$$pre$phi$i212Z2D = $449; + break; + } _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; + } while(0); + HEAP32[$$pre$phi$i212Z2D>>2] = $367; + $453 = ((($$0368$i)) + 12|0); + HEAP32[$453>>2] = $367; + $454 = ((($367)) + 8|0); + HEAP32[$454>>2] = $$0368$i; + $455 = ((($367)) + 12|0); + HEAP32[$455>>2] = $443; break; } - $439 = $$4351$lcssa$i >>> 8; - $440 = ($439|0)==(0); - if ($440) { + $456 = $$4351$lcssa$i >>> 8; + $457 = ($456|0)==(0); + if ($457) { $$0361$i = 0; } else { - $441 = ($$4351$lcssa$i>>>0)>(16777215); - if ($441) { + $458 = ($$4351$lcssa$i>>>0)>(16777215); + if ($458) { $$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; + $459 = (($456) + 1048320)|0; + $460 = $459 >>> 16; + $461 = $460 & 8; + $462 = $456 << $461; + $463 = (($462) + 520192)|0; + $464 = $463 >>> 16; + $465 = $464 & 4; + $466 = $465 | $461; + $467 = $462 << $465; + $468 = (($467) + 245760)|0; + $469 = $468 >>> 16; + $470 = $469 & 2; + $471 = $466 | $470; + $472 = (14 - ($471))|0; + $473 = $467 << $470; + $474 = $473 >>> 15; + $475 = (($472) + ($474))|0; + $476 = $475 << 1; + $477 = (($475) + 7)|0; + $478 = $$4351$lcssa$i >>> $477; + $479 = $478 & 1; + $480 = $479 | $476; + $$0361$i = $480; } } - $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; + $481 = (35800 + ($$0361$i<<2)|0); + $482 = ((($367)) + 28|0); + HEAP32[$482>>2] = $$0361$i; + $483 = ((($367)) + 16|0); + $484 = ((($483)) + 4|0); + HEAP32[$484>>2] = 0; + HEAP32[$483>>2] = 0; + $485 = 1 << $$0361$i; + $486 = $487 & $485; + $488 = ($486|0)==(0); + if ($488) { + $489 = $487 | $485; + HEAP32[(35500)>>2] = $489; + HEAP32[$481>>2] = $367; + $490 = ((($367)) + 24|0); + HEAP32[$490>>2] = $481; + $491 = ((($367)) + 12|0); + HEAP32[$491>>2] = $367; + $492 = ((($367)) + 8|0); + HEAP32[$492>>2] = $367; 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; + $493 = HEAP32[$481>>2]|0; + $494 = ($$0361$i|0)==(31); + $495 = $$0361$i >>> 1; + $496 = (25 - ($495))|0; + $497 = $494 ? 0 : $496; + $498 = $$4351$lcssa$i << $497; + $$0344$i = $498;$$0345$i = $493; 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; + $499 = ((($$0345$i)) + 4|0); + $500 = HEAP32[$499>>2]|0; + $501 = $500 & -8; + $502 = ($501|0)==($$4351$lcssa$i|0); + if ($502) { + label = 148; 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; + $503 = $$0344$i >>> 31; + $504 = (((($$0345$i)) + 16|0) + ($503<<2)|0); + $505 = $$0344$i << 1; + $506 = HEAP32[$504>>2]|0; + $507 = ($506|0)==(0|0); + if ($507) { + label = 145; break; } else { - $$0344$i = $488;$$0345$i = $489; + $$0344$i = $505;$$0345$i = $506; } } - if ((label|0) == 136) { - $491 = HEAP32[(33200)>>2]|0; - $492 = ($487>>>0)<($491>>>0); - if ($492) { + if ((label|0) == 145) { + $508 = HEAP32[(35512)>>2]|0; + $509 = ($504>>>0)<($508>>>0); + if ($509) { _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; + HEAP32[$504>>2] = $367; + $510 = ((($367)) + 24|0); + HEAP32[$510>>2] = $$0345$i; + $511 = ((($367)) + 12|0); + HEAP32[$511>>2] = $367; + $512 = ((($367)) + 8|0); + HEAP32[$512>>2] = $367; 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; + else if ((label|0) == 148) { + $513 = ((($$0345$i)) + 8|0); + $514 = HEAP32[$513>>2]|0; + $515 = HEAP32[(35512)>>2]|0; + $516 = ($514>>>0)>=($515>>>0); + $not$9$i = ($$0345$i>>>0)>=($515>>>0); + $517 = $516 & $not$9$i; + if ($517) { + $518 = ((($514)) + 12|0); + HEAP32[$518>>2] = $367; + HEAP32[$513>>2] = $367; + $519 = ((($367)) + 8|0); + HEAP32[$519>>2] = $514; + $520 = ((($367)) + 12|0); + HEAP32[$520>>2] = $$0345$i; + $521 = ((($367)) + 24|0); + HEAP32[$521>>2] = 0; break; } else { _abort(); @@ -25073,1698 +31351,1461 @@ function _malloc($0) { } } } while(0); - $505 = ((($$4$lcssa$i)) + 8|0); - $$0 = $505; - STACKTOP = sp;return ($$0|0); + $522 = ((($$4$lcssa$i)) + 8|0); + $$2 = $522; } else { - $$0197 = $249; + $$0198 = $266; + label = 153; } } } } } } 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; + L230: do { + if ((label|0) == 153) { + $523 = HEAP32[(35504)>>2]|0; + $524 = ($523>>>0)<($$0198>>>0); + if (!($524)) { + $525 = (($523) - ($$0198))|0; + $526 = HEAP32[(35516)>>2]|0; + $527 = ($525>>>0)>(15); + if ($527) { + $528 = (($526) + ($$0198)|0); + HEAP32[(35516)>>2] = $528; + HEAP32[(35504)>>2] = $525; + $529 = $525 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = (($528) + ($525)|0); + HEAP32[$531>>2] = $525; + $532 = $$0198 | 3; + $533 = ((($526)) + 4|0); + HEAP32[$533>>2] = $532; } 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; - } + HEAP32[(35504)>>2] = 0; + HEAP32[(35516)>>2] = 0; + $534 = $523 | 3; + $535 = ((($526)) + 4|0); + HEAP32[$535>>2] = $534; + $536 = (($526) + ($523)|0); + $537 = ((($536)) + 4|0); + $538 = HEAP32[$537>>2]|0; + $539 = $538 | 1; + HEAP32[$537>>2] = $539; + } + $540 = ((($526)) + 8|0); + $$2 = $540; + break; + } + $541 = HEAP32[(35508)>>2]|0; + $542 = ($541>>>0)>($$0198>>>0); + if ($542) { + $543 = (($541) - ($$0198))|0; + HEAP32[(35508)>>2] = $543; + $544 = HEAP32[(35520)>>2]|0; + $545 = (($544) + ($$0198)|0); + HEAP32[(35520)>>2] = $545; + $546 = $543 | 1; + $547 = ((($545)) + 4|0); + HEAP32[$547>>2] = $546; + $548 = $$0198 | 3; + $549 = ((($544)) + 4|0); + HEAP32[$549>>2] = $548; + $550 = ((($544)) + 8|0); + $$2 = $550; + break; + } + $551 = HEAP32[8861]|0; + $552 = ($551|0)==(0); + if ($552) { + (___pthread_mutex_lock(35468)|0); + $553 = HEAP32[8861]|0; + $554 = ($553|0)==(0); + if ($554) { + HEAP32[(35452)>>2] = 4096; + HEAP32[(35448)>>2] = 4096; + HEAP32[(35456)>>2] = -1; + HEAP32[(35460)>>2] = -1; + HEAP32[(35464)>>2] = 2; + HEAP32[(35940)>>2] = 2; + $555 = (_pthread_mutexattr_init($1)|0); + $556 = ($555|0)==(0); + if ($556) { + $557 = (_pthread_mutex_init((35944),$1)|0); + $558 = ($557|0)==(0); + if ($558) { } - $563 = ((($$0$i$i)) + 8|0); - $564 = HEAP32[$563>>2]|0; - $565 = ($564|0)==(0|0); - if ($565) { - label = 163; - break L246; + } + $559 = $2; + $560 = $559 & -16; + $561 = $560 ^ 1431655768; + HEAP32[$2>>2] = $561; + Atomics_store(HEAP32,8861,$561)|0; + } + (___pthread_mutex_unlock(35468)|0); + } + $562 = (($$0198) + 48)|0; + $563 = HEAP32[(35452)>>2]|0; + $564 = (($$0198) + 47)|0; + $565 = (($563) + ($564))|0; + $566 = (0 - ($563))|0; + $567 = $565 & $566; + $568 = ($567>>>0)>($$0198>>>0); + if ($568) { + $569 = HEAP32[(35936)>>2]|0; + $570 = ($569|0)==(0); + if (!($570)) { + $571 = HEAP32[(35928)>>2]|0; + $572 = (($571) + ($567))|0; + $573 = ($572>>>0)<=($571>>>0); + $574 = ($572>>>0)>($569>>>0); + $or$cond1$i = $573 | $574; + if ($or$cond1$i) { + $$2 = 0; + break; + } + } + $575 = HEAP32[(35940)>>2]|0; + $576 = $575 & 4; + $577 = ($576|0)==(0); + if ($577) { + $578 = HEAP32[(35520)>>2]|0; + $579 = ($578|0)==(0|0); + L258: do { + if ($579) { + label = 176; } else { - $$0$i$i = $564; + $$0$i$i = (35972); + while(1) { + $580 = HEAP32[$$0$i$i>>2]|0; + $581 = ($580>>>0)>($578>>>0); + if (!($581)) { + $582 = ((($$0$i$i)) + 4|0); + $583 = HEAP32[$582>>2]|0; + $584 = (($580) + ($583)|0); + $585 = ($584>>>0)>($578>>>0); + if ($585) { + break; + } + } + $586 = ((($$0$i$i)) + 8|0); + $587 = HEAP32[$586>>2]|0; + $588 = ($587|0)==(0|0); + if ($588) { + label = 176; + break L258; + } else { + $$0$i$i = $587; + } + } + (___pthread_mutex_lock(35468)|0); + $611 = HEAP32[(35508)>>2]|0; + $612 = HEAP32[(35452)>>2]|0; + $613 = (($564) - ($611))|0; + $614 = (($613) + ($612))|0; + $615 = (0 - ($612))|0; + $616 = $614 & $615; + $617 = ($616>>>0)<(2147483647); + if ($617) { + $618 = (_sbrk(($616|0))|0); + $619 = HEAP32[$$0$i$i>>2]|0; + $620 = HEAP32[$582>>2]|0; + $621 = (($619) + ($620)|0); + $622 = ($618|0)==($621|0); + if ($622) { + $623 = ($618|0)==((-1)|0); + if ($623) { + $$2234253237$i = $616; + label = 190; + } else { + $$3229$i = $618;$$3235$i = $616; + } + } else { + $$2247$ph$i = $618;$$2253$ph$i = $616; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } } - } - $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; + } while(0); + do { + if ((label|0) == 176) { + (___pthread_mutex_lock(35468)|0); + $589 = (_sbrk(0)|0); + $590 = ($589|0)==((-1)|0); + if ($590) { + $$2234253237$i = 0; + label = 190; } else { - $$723948$i = $589;$$749$i = $591; - label = 180; - break L244; + $591 = $589; + $592 = HEAP32[(35448)>>2]|0; + $593 = (($592) + -1)|0; + $594 = $593 & $591; + $595 = ($594|0)==(0); + $596 = (($593) + ($591))|0; + $597 = (0 - ($592))|0; + $598 = $596 & $597; + $599 = (($598) - ($591))|0; + $600 = $595 ? 0 : $599; + $$$i = (($600) + ($567))|0; + $601 = HEAP32[(35928)>>2]|0; + $602 = (($$$i) + ($601))|0; + $603 = ($$$i>>>0)>($$0198>>>0); + $604 = ($$$i>>>0)<(2147483647); + $or$cond$i213 = $603 & $604; + if ($or$cond$i213) { + $605 = HEAP32[(35936)>>2]|0; + $606 = ($605|0)==(0); + if (!($606)) { + $607 = ($602>>>0)<=($601>>>0); + $608 = ($602>>>0)>($605>>>0); + $or$cond2$i214 = $607 | $608; + if ($or$cond2$i214) { + $$2234253237$i = 0; + label = 190; + break; + } + } + $609 = (_sbrk(($$$i|0))|0); + $610 = ($609|0)==($589|0); + if ($610) { + $$3229$i = $589;$$3235$i = $$$i; + } else { + $$2247$ph$i = $609;$$2253$ph$i = $$$i; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } } - } 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) { + } while(0); + do { + if ((label|0) == 184) { + $624 = (0 - ($$2253$ph$i))|0; + $625 = ($$2247$ph$i|0)!=((-1)|0); + $626 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $626 & $625; + $627 = ($562>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $627 & $or$cond7$i; + if (!($or$cond10$i)) { + $637 = ($$2247$ph$i|0)==((-1)|0); + if ($637) { $$2234253237$i = 0; + label = 190; + break; + } else { + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; break; } } - $586 = (_sbrk(($$$i|0))|0); - $587 = ($586|0)==($566|0); - if ($587) { - $$723948$i = $$$i;$$749$i = $566; - label = 180; - break L244; + $628 = HEAP32[(35452)>>2]|0; + $629 = (($564) - ($$2253$ph$i))|0; + $630 = (($629) + ($628))|0; + $631 = (0 - ($628))|0; + $632 = $630 & $631; + $633 = ($632>>>0)<(2147483647); + if ($633) { + $634 = (_sbrk(($632|0))|0); + $635 = ($634|0)==((-1)|0); + if ($635) { + (_sbrk(($624|0))|0); + $$2234253237$i = 0; + label = 190; + break; + } else { + $636 = (($632) + ($$2253$ph$i))|0; + $$3229$i = $$2247$ph$i;$$3235$i = $636; + break; + } } else { - $$2247$ph$i = $586;$$2253$ph$i = $$$i; - label = 171; + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; } - } 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; } + } while(0); + if ((label|0) == 190) { + $638 = HEAP32[(35940)>>2]|0; + $639 = $638 | 4; + HEAP32[(35940)>>2] = $639; + $$3229$i = (-1);$$3235$i = $$2234253237$i; } - } - $687 = HEAP32[(33200)>>2]|0; - $688 = ($$749$i>>>0)<($687>>>0); - if ($688) { - HEAP32[(33200)>>2] = $$749$i; - $752 = $$749$i; + (___pthread_mutex_unlock(35468)|0); + $$4230$i = $$3229$i;$$4236$i = $$3235$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; + $$4230$i = (-1);$$4236$i = 0; + } + $640 = ($$4230$i|0)==((-1)|0); + $641 = ($567>>>0)<(2147483647); + $or$cond9$i = $641 & $640; + if ($or$cond9$i) { + (___pthread_mutex_lock(35468)|0); + $642 = (_sbrk(($567|0))|0); + $643 = (_sbrk(0)|0); + (___pthread_mutex_unlock(35468)|0); + $644 = ($642|0)!=((-1)|0); + $645 = ($643|0)!=((-1)|0); + $or$cond5$i = $644 & $645; + $646 = ($642>>>0)<($643>>>0); + $or$cond11$i = $646 & $or$cond5$i; + $647 = $643; + $648 = $642; + $649 = (($647) - ($648))|0; + $650 = (($$0198) + 40)|0; + $651 = ($649>>>0)>($650>>>0); + $$$4236$i = $651 ? $649 : $$4236$i; + $$$4230$i = $651 ? $642 : (-1); + if ($or$cond11$i) { + $$7$i = $$$4230$i;$$7239$i = $$$4236$i; + label = 194; } - } - 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); + } else { + $$7$i = $$4230$i;$$7239$i = $$4236$i; + label = 194; + } + if ((label|0) == 194) { + $652 = ($$7$i|0)==((-1)|0); + if (!($652)) { + $653 = HEAP32[(35928)>>2]|0; + $654 = (($653) + ($$7239$i))|0; + HEAP32[(35928)>>2] = $654; + $655 = HEAP32[(35932)>>2]|0; + $656 = ($654>>>0)>($655>>>0); + if ($656) { + HEAP32[(35932)>>2] = $654; + } + $657 = HEAP32[(35520)>>2]|0; + $658 = ($657|0)==(0|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; + if ($658) { + $659 = HEAP32[(35512)>>2]|0; + $660 = ($659|0)==(0|0); + $661 = ($$7$i>>>0)<($659>>>0); + $or$cond12$i = $660 | $661; + if ($or$cond12$i) { + HEAP32[(35512)>>2] = $$7$i; + } + HEAP32[(35972)>>2] = $$7$i; + HEAP32[(35976)>>2] = $$7239$i; + HEAP32[(35984)>>2] = 0; + $662 = HEAP32[8861]|0; + HEAP32[(35532)>>2] = $662; + HEAP32[(35528)>>2] = -1; + $$01$i$i = 0; + while(1) { + $663 = $$01$i$i << 1; + $664 = (35536 + ($663<<2)|0); + $665 = ((($664)) + 12|0); + HEAP32[$665>>2] = $664; + $666 = ((($664)) + 8|0); + HEAP32[$666>>2] = $664; + $667 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($667|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $667; + } + } + $668 = (($$7239$i) + -40)|0; + $669 = ((($$7$i)) + 8|0); + $670 = $669; + $671 = $670 & 7; + $672 = ($671|0)==(0); + $673 = (0 - ($670))|0; + $674 = $673 & 7; + $675 = $672 ? 0 : $674; + $676 = (($$7$i) + ($675)|0); + $677 = (($668) - ($675))|0; + HEAP32[(35520)>>2] = $676; + HEAP32[(35508)>>2] = $677; + $678 = $677 | 1; + $679 = ((($676)) + 4|0); + HEAP32[$679>>2] = $678; + $680 = (($676) + ($677)|0); + $681 = ((($680)) + 4|0); + HEAP32[$681>>2] = 40; + $682 = HEAP32[(35460)>>2]|0; + HEAP32[(35524)>>2] = $682; } 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; + $$024363$i = (35972); + while(1) { + $683 = HEAP32[$$024363$i>>2]|0; + $684 = ((($$024363$i)) + 4|0); + $685 = HEAP32[$684>>2]|0; + $686 = (($683) + ($685)|0); + $687 = ($$7$i|0)==($686|0); + if ($687) { + label = 205; + break; + } + $688 = ((($$024363$i)) + 8|0); + $689 = HEAP32[$688>>2]|0; + $690 = ($689|0)==(0|0); + if ($690) { + break; + } else { + $$024363$i = $689; + } } - $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; + if ((label|0) == 205) { + $691 = ((($$024363$i)) + 12|0); + $692 = HEAP32[$691>>2]|0; + $693 = $692 & 8; + $694 = ($693|0)==(0); + if ($694) { + $695 = ($657>>>0)>=($683>>>0); + $696 = ($657>>>0)<($$7$i>>>0); + $or$cond43$i = $696 & $695; + if ($or$cond43$i) { + $697 = (($685) + ($$7239$i))|0; + HEAP32[$684>>2] = $697; + $698 = HEAP32[(35508)>>2]|0; + $699 = ((($657)) + 8|0); + $700 = $699; + $701 = $700 & 7; + $702 = ($701|0)==(0); + $703 = (0 - ($700))|0; + $704 = $703 & 7; + $705 = $702 ? 0 : $704; + $706 = (($657) + ($705)|0); + $707 = (($$7239$i) - ($705))|0; + $708 = (($698) + ($707))|0; + HEAP32[(35520)>>2] = $706; + HEAP32[(35508)>>2] = $708; + $709 = $708 | 1; + $710 = ((($706)) + 4|0); + HEAP32[$710>>2] = $709; + $711 = (($706) + ($708)|0); + $712 = ((($711)) + 4|0); + HEAP32[$712>>2] = 40; + $713 = HEAP32[(35460)>>2]|0; + HEAP32[(35524)>>2] = $713; + break; + } + } + } + $714 = HEAP32[(35512)>>2]|0; + $715 = ($$7$i>>>0)<($714>>>0); + if ($715) { + HEAP32[(35512)>>2] = $$7$i; + $779 = $$7$i; + } else { + $779 = $714; + } + $716 = (($$7$i) + ($$7239$i)|0); + $$124462$i = (35972); + while(1) { + $717 = HEAP32[$$124462$i>>2]|0; + $718 = ($717|0)==($716|0); + if ($718) { + label = 213; + break; + } + $719 = ((($$124462$i)) + 8|0); + $720 = HEAP32[$719>>2]|0; + $721 = ($720|0)==(0|0); + if ($721) { + break; + } else { + $$124462$i = $720; + } + } + if ((label|0) == 213) { + $722 = ((($$124462$i)) + 12|0); + $723 = HEAP32[$722>>2]|0; + $724 = $723 & 8; + $725 = ($724|0)==(0); + if ($725) { + HEAP32[$$124462$i>>2] = $$7$i; + $726 = ((($$124462$i)) + 4|0); + $727 = HEAP32[$726>>2]|0; + $728 = (($727) + ($$7239$i))|0; + HEAP32[$726>>2] = $728; + $729 = ((($$7$i)) + 8|0); + $730 = $729; + $731 = $730 & 7; + $732 = ($731|0)==(0); + $733 = (0 - ($730))|0; + $734 = $733 & 7; + $735 = $732 ? 0 : $734; + $736 = (($$7$i) + ($735)|0); + $737 = ((($716)) + 8|0); + $738 = $737; + $739 = $738 & 7; + $740 = ($739|0)==(0); + $741 = (0 - ($738))|0; + $742 = $741 & 7; + $743 = $740 ? 0 : $742; + $744 = (($716) + ($743)|0); + $745 = $744; + $746 = $736; + $747 = (($745) - ($746))|0; + $748 = (($736) + ($$0198)|0); + $749 = (($747) - ($$0198))|0; + $750 = $$0198 | 3; + $751 = ((($736)) + 4|0); + HEAP32[$751>>2] = $750; + $752 = ($744|0)==($657|0); + do { + if ($752) { + $753 = HEAP32[(35508)>>2]|0; + $754 = (($753) + ($749))|0; + HEAP32[(35508)>>2] = $754; + HEAP32[(35520)>>2] = $748; + $755 = $754 | 1; + $756 = ((($748)) + 4|0); + HEAP32[$756>>2] = $755; + } else { + $757 = HEAP32[(35516)>>2]|0; + $758 = ($744|0)==($757|0); + if ($758) { + $759 = HEAP32[(35504)>>2]|0; + $760 = (($759) + ($749))|0; + HEAP32[(35504)>>2] = $760; + HEAP32[(35516)>>2] = $748; + $761 = $760 | 1; + $762 = ((($748)) + 4|0); + HEAP32[$762>>2] = $761; + $763 = (($748) + ($760)|0); + HEAP32[$763>>2] = $760; + break; } - } 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; + $764 = ((($744)) + 4|0); + $765 = HEAP32[$764>>2]|0; + $766 = $765 & 3; + $767 = ($766|0)==(1); + if ($767) { + $768 = $765 & -8; + $769 = $765 >>> 3; + $770 = ($765>>>0)<(256); + L329: do { + if ($770) { + $771 = ((($744)) + 8|0); + $772 = HEAP32[$771>>2]|0; + $773 = ((($744)) + 12|0); + $774 = HEAP32[$773>>2]|0; + $775 = $769 << 1; + $776 = (35536 + ($775<<2)|0); + $777 = ($772|0)==($776|0); + do { + if (!($777)) { + $778 = ($772>>>0)<($779>>>0); + if ($778) { + _abort(); + // unreachable; + } + $780 = ((($772)) + 12|0); + $781 = HEAP32[$780>>2]|0; + $782 = ($781|0)==($744|0); + if ($782) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $783 = ($774|0)==($772|0); + if ($783) { + $784 = 1 << $769; + $785 = $784 ^ -1; + $786 = HEAP32[8874]|0; + $787 = $786 & $785; + HEAP32[8874] = $787; + break; + } + $788 = ($774|0)==($776|0); + do { + if ($788) { + $$pre10$i$i = ((($774)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $789 = ($774>>>0)<($779>>>0); + if ($789) { + _abort(); + // unreachable; + } + $790 = ((($774)) + 8|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==($744|0); + if ($792) { + $$pre$phi11$i$iZ2D = $790; + break; + } + _abort(); + // unreachable; + } + } while(0); + $793 = ((($772)) + 12|0); + HEAP32[$793>>2] = $774; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $772; + } else { + $794 = ((($744)) + 24|0); + $795 = HEAP32[$794>>2]|0; + $796 = ((($744)) + 12|0); + $797 = HEAP32[$796>>2]|0; + $798 = ($797|0)==($744|0); + do { + if ($798) { + $808 = ((($744)) + 16|0); + $809 = ((($808)) + 4|0); + $810 = HEAP32[$809>>2]|0; + $811 = ($810|0)==(0|0); + if ($811) { + $812 = HEAP32[$808>>2]|0; + $813 = ($812|0)==(0|0); + if ($813) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $812;$$1293$i$i = $808; + } + } else { + $$1291$i$i = $810;$$1293$i$i = $809; + } + while(1) { + $814 = ((($$1291$i$i)) + 20|0); + $815 = HEAP32[$814>>2]|0; + $816 = ($815|0)==(0|0); + if (!($816)) { + $$1291$i$i = $815;$$1293$i$i = $814; + continue; + } + $817 = ((($$1291$i$i)) + 16|0); + $818 = HEAP32[$817>>2]|0; + $819 = ($818|0)==(0|0); + if ($819) { + break; + } else { + $$1291$i$i = $818;$$1293$i$i = $817; + } + } + $820 = ($$1293$i$i>>>0)<($779>>>0); + if ($820) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $799 = ((($744)) + 8|0); + $800 = HEAP32[$799>>2]|0; + $801 = ($800>>>0)<($779>>>0); + if ($801) { + _abort(); + // unreachable; + } + $802 = ((($800)) + 12|0); + $803 = HEAP32[$802>>2]|0; + $804 = ($803|0)==($744|0); + if (!($804)) { + _abort(); + // unreachable; + } + $805 = ((($797)) + 8|0); + $806 = HEAP32[$805>>2]|0; + $807 = ($806|0)==($744|0); + if ($807) { + HEAP32[$802>>2] = $797; + HEAP32[$805>>2] = $800; + $$3$i$i = $797; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $821 = ($795|0)==(0|0); + if ($821) { + break; + } + $822 = ((($744)) + 28|0); + $823 = HEAP32[$822>>2]|0; + $824 = (35800 + ($823<<2)|0); + $825 = HEAP32[$824>>2]|0; + $826 = ($744|0)==($825|0); + do { + if ($826) { + HEAP32[$824>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $827 = 1 << $823; + $828 = $827 ^ -1; + $829 = HEAP32[(35500)>>2]|0; + $830 = $829 & $828; + HEAP32[(35500)>>2] = $830; + break L329; + } else { + $831 = HEAP32[(35512)>>2]|0; + $832 = ($795>>>0)<($831>>>0); + if ($832) { + _abort(); + // unreachable; + } else { + $833 = ((($795)) + 16|0); + $834 = HEAP32[$833>>2]|0; + $not$$i$i = ($834|0)!=($744|0); + $$sink1$i$i = $not$$i$i&1; + $835 = (((($795)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$835>>2] = $$3$i$i; + $836 = ($$3$i$i|0)==(0|0); + if ($836) { + break L329; + } else { + break; + } + } + } + } while(0); + $837 = HEAP32[(35512)>>2]|0; + $838 = ($$3$i$i>>>0)<($837>>>0); + if ($838) { + _abort(); + // unreachable; + } + $839 = ((($$3$i$i)) + 24|0); + HEAP32[$839>>2] = $795; + $840 = ((($744)) + 16|0); + $841 = HEAP32[$840>>2]|0; + $842 = ($841|0)==(0|0); + do { + if (!($842)) { + $843 = ($841>>>0)<($837>>>0); + if ($843) { + _abort(); + // unreachable; + } else { + $844 = ((($$3$i$i)) + 16|0); + HEAP32[$844>>2] = $841; + $845 = ((($841)) + 24|0); + HEAP32[$845>>2] = $$3$i$i; + break; + } + } + } while(0); + $846 = ((($840)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = ($847|0)==(0|0); + if ($848) { + break; + } + $849 = HEAP32[(35512)>>2]|0; + $850 = ($847>>>0)<($849>>>0); + if ($850) { + _abort(); + // unreachable; + } else { + $851 = ((($$3$i$i)) + 20|0); + HEAP32[$851>>2] = $847; + $852 = ((($847)) + 24|0); + HEAP32[$852>>2] = $$3$i$i; + break; + } + } + } while(0); + $853 = (($744) + ($768)|0); + $854 = (($768) + ($749))|0; + $$0$i17$i = $853;$$0287$i$i = $854; } 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; + $$0$i17$i = $744;$$0287$i$i = $749; } - } 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; + $855 = ((($$0$i17$i)) + 4|0); + $856 = HEAP32[$855>>2]|0; + $857 = $856 & -2; + HEAP32[$855>>2] = $857; + $858 = $$0287$i$i | 1; + $859 = ((($748)) + 4|0); + HEAP32[$859>>2] = $858; + $860 = (($748) + ($$0287$i$i)|0); + HEAP32[$860>>2] = $$0287$i$i; + $861 = $$0287$i$i >>> 3; + $862 = ($$0287$i$i>>>0)<(256); + if ($862) { + $863 = $861 << 1; + $864 = (35536 + ($863<<2)|0); + $865 = HEAP32[8874]|0; + $866 = 1 << $861; + $867 = $865 & $866; + $868 = ($867|0)==(0); + do { + if ($868) { + $869 = $865 | $866; + HEAP32[8874] = $869; + $$pre$i$i = ((($864)) + 8|0); + $$0295$i$i = $864;$$pre$phi$i$iZ2D = $$pre$i$i; } else { - $$1291$i$i = $785;$$1293$i$i = $781; + $870 = ((($864)) + 8|0); + $871 = HEAP32[$870>>2]|0; + $872 = HEAP32[(35512)>>2]|0; + $873 = ($871>>>0)<($872>>>0); + if (!($873)) { + $$0295$i$i = $871;$$pre$phi$i$iZ2D = $870; + break; + } + _abort(); + // unreachable; } + } while(0); + HEAP32[$$pre$phi$i$iZ2D>>2] = $748; + $874 = ((($$0295$i$i)) + 12|0); + HEAP32[$874>>2] = $748; + $875 = ((($748)) + 8|0); + HEAP32[$875>>2] = $$0295$i$i; + $876 = ((($748)) + 12|0); + HEAP32[$876>>2] = $864; + break; + } + $877 = $$0287$i$i >>> 8; + $878 = ($877|0)==(0); + do { + if ($878) { + $$0296$i$i = 0; } 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) { + $879 = ($$0287$i$i>>>0)>(16777215); + if ($879) { + $$0296$i$i = 31; break; - } else { - $$1291$i$i = $791;$$1293$i$i = $790; } + $880 = (($877) + 1048320)|0; + $881 = $880 >>> 16; + $882 = $881 & 8; + $883 = $877 << $882; + $884 = (($883) + 520192)|0; + $885 = $884 >>> 16; + $886 = $885 & 4; + $887 = $886 | $882; + $888 = $883 << $886; + $889 = (($888) + 245760)|0; + $890 = $889 >>> 16; + $891 = $890 & 2; + $892 = $887 | $891; + $893 = (14 - ($892))|0; + $894 = $888 << $891; + $895 = $894 >>> 15; + $896 = (($893) + ($895))|0; + $897 = $896 << 1; + $898 = (($896) + 7)|0; + $899 = $$0287$i$i >>> $898; + $900 = $899 & 1; + $901 = $900 | $897; + $$0296$i$i = $901; } - $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; + } while(0); + $902 = (35800 + ($$0296$i$i<<2)|0); + $903 = ((($748)) + 28|0); + HEAP32[$903>>2] = $$0296$i$i; + $904 = ((($748)) + 16|0); + $905 = ((($904)) + 4|0); + HEAP32[$905>>2] = 0; + HEAP32[$904>>2] = 0; + $906 = HEAP32[(35500)>>2]|0; + $907 = 1 << $$0296$i$i; + $908 = $906 & $907; + $909 = ($908|0)==(0); + if ($909) { + $910 = $906 | $907; + HEAP32[(35500)>>2] = $910; + HEAP32[$902>>2] = $748; + $911 = ((($748)) + 24|0); + HEAP32[$911>>2] = $902; + $912 = ((($748)) + 12|0); + HEAP32[$912>>2] = $748; + $913 = ((($748)) + 8|0); + HEAP32[$913>>2] = $748; + break; + } + $914 = HEAP32[$902>>2]|0; + $915 = ($$0296$i$i|0)==(31); + $916 = $$0296$i$i >>> 1; + $917 = (25 - ($916))|0; + $918 = $915 ? 0 : $917; + $919 = $$0287$i$i << $918; + $$0288$i$i = $919;$$0289$i$i = $914; + while(1) { + $920 = ((($$0289$i$i)) + 4|0); + $921 = HEAP32[$920>>2]|0; + $922 = $921 & -8; + $923 = ($922|0)==($$0287$i$i|0); + if ($923) { + label = 280; + break; } - $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; + $924 = $$0288$i$i >>> 31; + $925 = (((($$0289$i$i)) + 16|0) + ($924<<2)|0); + $926 = $$0288$i$i << 1; + $927 = HEAP32[$925>>2]|0; + $928 = ($927|0)==(0|0); + if ($928) { + label = 277; break; } else { - _abort(); - // unreachable; + $$0288$i$i = $926;$$0289$i$i = $927; } } - } 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) { + if ((label|0) == 277) { + $929 = HEAP32[(35512)>>2]|0; + $930 = ($925>>>0)<($929>>>0); + if ($930) { _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; - } + HEAP32[$925>>2] = $748; + $931 = ((($748)) + 24|0); + HEAP32[$931>>2] = $$0289$i$i; + $932 = ((($748)) + 12|0); + HEAP32[$932>>2] = $748; + $933 = ((($748)) + 8|0); + HEAP32[$933>>2] = $748; + 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) { + else if ((label|0) == 280) { + $934 = ((($$0289$i$i)) + 8|0); + $935 = HEAP32[$934>>2]|0; + $936 = HEAP32[(35512)>>2]|0; + $937 = ($935>>>0)>=($936>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($936>>>0); + $938 = $937 & $not$7$i$i; + if ($938) { + $939 = ((($935)) + 12|0); + HEAP32[$939>>2] = $748; + HEAP32[$934>>2] = $748; + $940 = ((($748)) + 8|0); + HEAP32[$940>>2] = $935; + $941 = ((($748)) + 12|0); + HEAP32[$941>>2] = $$0289$i$i; + $942 = ((($748)) + 24|0); + HEAP32[$942>>2] = 0; + break; + } else { _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; + } while(0); + $1074 = ((($736)) + 8|0); + $$2 = $1074; + break L230; + } } - $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; + $$0$i$i$i = (35972); + while(1) { + $943 = HEAP32[$$0$i$i$i>>2]|0; + $944 = ($943>>>0)>($657>>>0); + if (!($944)) { + $945 = ((($$0$i$i$i)) + 4|0); + $946 = HEAP32[$945>>2]|0; + $947 = (($943) + ($946)|0); + $948 = ($947>>>0)>($657>>>0); + if ($948) { 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; + $949 = ((($$0$i$i$i)) + 8|0); + $950 = HEAP32[$949>>2]|0; + $$0$i$i$i = $950; } - $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; + $951 = ((($947)) + -47|0); + $952 = ((($951)) + 8|0); + $953 = $952; + $954 = $953 & 7; + $955 = ($954|0)==(0); + $956 = (0 - ($953))|0; + $957 = $956 & 7; + $958 = $955 ? 0 : $957; + $959 = (($951) + ($958)|0); + $960 = ((($657)) + 16|0); + $961 = ($959>>>0)<($960>>>0); + $962 = $961 ? $657 : $959; + $963 = ((($962)) + 8|0); + $964 = ((($962)) + 24|0); + $965 = (($$7239$i) + -40)|0; + $966 = ((($$7$i)) + 8|0); + $967 = $966; + $968 = $967 & 7; + $969 = ($968|0)==(0); + $970 = (0 - ($967))|0; + $971 = $970 & 7; + $972 = $969 ? 0 : $971; + $973 = (($$7$i) + ($972)|0); + $974 = (($965) - ($972))|0; + HEAP32[(35520)>>2] = $973; + HEAP32[(35508)>>2] = $974; + $975 = $974 | 1; + $976 = ((($973)) + 4|0); + HEAP32[$976>>2] = $975; + $977 = (($973) + ($974)|0); + $978 = ((($977)) + 4|0); + HEAP32[$978>>2] = 40; + $979 = HEAP32[(35460)>>2]|0; + HEAP32[(35524)>>2] = $979; + $980 = ((($962)) + 4|0); + HEAP32[$980>>2] = 27; + ;HEAP32[$963>>2]=HEAP32[(35972)>>2]|0;HEAP32[$963+4>>2]=HEAP32[(35972)+4>>2]|0;HEAP32[$963+8>>2]=HEAP32[(35972)+8>>2]|0;HEAP32[$963+12>>2]=HEAP32[(35972)+12>>2]|0; + HEAP32[(35972)>>2] = $$7$i; + HEAP32[(35976)>>2] = $$7239$i; + HEAP32[(35984)>>2] = 0; + HEAP32[(35980)>>2] = $963; + $982 = $964; 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; + $981 = ((($982)) + 4|0); + HEAP32[$981>>2] = 7; + $983 = ((($982)) + 8|0); + $984 = ($983>>>0)<($947>>>0); + if ($984) { + $982 = $981; } else { - $$0288$i$i = $899;$$0289$i$i = $900; + break; } } - 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; + $985 = ($962|0)==($657|0); + if (!($985)) { + $986 = $962; + $987 = $657; + $988 = (($986) - ($987))|0; + $989 = HEAP32[$980>>2]|0; + $990 = $989 & -2; + HEAP32[$980>>2] = $990; + $991 = $988 | 1; + $992 = ((($657)) + 4|0); + HEAP32[$992>>2] = $991; + HEAP32[$962>>2] = $988; + $993 = $988 >>> 3; + $994 = ($988>>>0)<(256); + if ($994) { + $995 = $993 << 1; + $996 = (35536 + ($995<<2)|0); + $997 = HEAP32[8874]|0; + $998 = 1 << $993; + $999 = $997 & $998; + $1000 = ($999|0)==(0); + do { + if ($1000) { + $1001 = $997 | $998; + HEAP32[8874] = $1001; + $$pre$i18$i = ((($996)) + 8|0); + $$0211$i$i = $996;$$pre$phi$i19$iZ2D = $$pre$i18$i; + } else { + $1002 = ((($996)) + 8|0); + $1003 = HEAP32[$1002>>2]|0; + $1004 = HEAP32[(35512)>>2]|0; + $1005 = ($1003>>>0)<($1004>>>0); + if (!($1005)) { + $$0211$i$i = $1003;$$pre$phi$i19$iZ2D = $1002; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i19$iZ2D>>2] = $657; + $1006 = ((($$0211$i$i)) + 12|0); + HEAP32[$1006>>2] = $657; + $1007 = ((($657)) + 8|0); + HEAP32[$1007>>2] = $$0211$i$i; + $1008 = ((($657)) + 12|0); + HEAP32[$1008>>2] = $996; 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; + $1009 = $988 >>> 8; + $1010 = ($1009|0)==(0); + do { + if ($1010) { + $$0212$i$i = 0; + } else { + $1011 = ($988>>>0)>(16777215); + if ($1011) { + $$0212$i$i = 31; + break; + } + $1012 = (($1009) + 1048320)|0; + $1013 = $1012 >>> 16; + $1014 = $1013 & 8; + $1015 = $1009 << $1014; + $1016 = (($1015) + 520192)|0; + $1017 = $1016 >>> 16; + $1018 = $1017 & 4; + $1019 = $1018 | $1014; + $1020 = $1015 << $1018; + $1021 = (($1020) + 245760)|0; + $1022 = $1021 >>> 16; + $1023 = $1022 & 2; + $1024 = $1019 | $1023; + $1025 = (14 - ($1024))|0; + $1026 = $1020 << $1023; + $1027 = $1026 >>> 15; + $1028 = (($1025) + ($1027))|0; + $1029 = $1028 << 1; + $1030 = (($1028) + 7)|0; + $1031 = $988 >>> $1030; + $1032 = $1031 & 1; + $1033 = $1032 | $1029; + $$0212$i$i = $1033; + } + } while(0); + $1034 = (35800 + ($$0212$i$i<<2)|0); + $1035 = ((($657)) + 28|0); + HEAP32[$1035>>2] = $$0212$i$i; + $1036 = ((($657)) + 20|0); + HEAP32[$1036>>2] = 0; + HEAP32[$960>>2] = 0; + $1037 = HEAP32[(35500)>>2]|0; + $1038 = 1 << $$0212$i$i; + $1039 = $1037 & $1038; + $1040 = ($1039|0)==(0); + if ($1040) { + $1041 = $1037 | $1038; + HEAP32[(35500)>>2] = $1041; + HEAP32[$1034>>2] = $657; + $1042 = ((($657)) + 24|0); + HEAP32[$1042>>2] = $1034; + $1043 = ((($657)) + 12|0); + HEAP32[$1043>>2] = $657; + $1044 = ((($657)) + 8|0); + HEAP32[$1044>>2] = $657; 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; + $1045 = HEAP32[$1034>>2]|0; + $1046 = ($$0212$i$i|0)==(31); + $1047 = $$0212$i$i >>> 1; + $1048 = (25 - ($1047))|0; + $1049 = $1046 ? 0 : $1048; + $1050 = $988 << $1049; + $$0206$i$i = $1050;$$0207$i$i = $1045; + while(1) { + $1051 = ((($$0207$i$i)) + 4|0); + $1052 = HEAP32[$1051>>2]|0; + $1053 = $1052 & -8; + $1054 = ($1053|0)==($988|0); + if ($1054) { + label = 307; + break; + } + $1055 = $$0206$i$i >>> 31; + $1056 = (((($$0207$i$i)) + 16|0) + ($1055<<2)|0); + $1057 = $$0206$i$i << 1; + $1058 = HEAP32[$1056>>2]|0; + $1059 = ($1058|0)==(0|0); + if ($1059) { + label = 304; + break; + } else { + $$0206$i$i = $1057;$$0207$i$i = $1058; + } + } + if ((label|0) == 304) { + $1060 = HEAP32[(35512)>>2]|0; + $1061 = ($1056>>>0)<($1060>>>0); + if ($1061) { + _abort(); + // unreachable; + } else { + HEAP32[$1056>>2] = $657; + $1062 = ((($657)) + 24|0); + HEAP32[$1062>>2] = $$0207$i$i; + $1063 = ((($657)) + 12|0); + HEAP32[$1063>>2] = $657; + $1064 = ((($657)) + 8|0); + HEAP32[$1064>>2] = $657; + break; + } + } + else if ((label|0) == 307) { + $1065 = ((($$0207$i$i)) + 8|0); + $1066 = HEAP32[$1065>>2]|0; + $1067 = HEAP32[(35512)>>2]|0; + $1068 = ($1066>>>0)>=($1067>>>0); + $not$$i21$i = ($$0207$i$i>>>0)>=($1067>>>0); + $1069 = $1068 & $not$$i21$i; + if ($1069) { + $1070 = ((($1066)) + 12|0); + HEAP32[$1070>>2] = $657; + HEAP32[$1065>>2] = $657; + $1071 = ((($657)) + 8|0); + HEAP32[$1071>>2] = $1066; + $1072 = ((($657)) + 12|0); + HEAP32[$1072>>2] = $$0207$i$i; + $1073 = ((($657)) + 24|0); + HEAP32[$1073>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1075 = HEAP32[(35508)>>2]|0; + $1076 = ($1075>>>0)>($$0198>>>0); + if ($1076) { + $1077 = (($1075) - ($$0198))|0; + HEAP32[(35508)>>2] = $1077; + $1078 = HEAP32[(35520)>>2]|0; + $1079 = (($1078) + ($$0198)|0); + HEAP32[(35520)>>2] = $1079; + $1080 = $1077 | 1; + $1081 = ((($1079)) + 4|0); + HEAP32[$1081>>2] = $1080; + $1082 = $$0198 | 3; + $1083 = ((($1078)) + 4|0); + HEAP32[$1083>>2] = $1082; + $1084 = ((($1078)) + 8|0); + $$2 = $1084; 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; - } } + $1085 = (___errno_location()|0); + HEAP32[$1085>>2] = 12; + $$2 = 0; + } else { + $$2 = 0; } - } else { - $$1 = $2;$$1382 = $9;$113 = $2; } } while(0); - $112 = ($113>>>0)<($10>>>0); - if (!($112)) { + $1086 = HEAP32[(35940)>>2]|0; + $1087 = $1086 & 2; + $1088 = ($1087|0)==(0); + if ($1088) { + $$1 = $$2; + STACKTOP = sp;return ($$1|0); + } + (___pthread_mutex_unlock((35944))|0); + $$1 = $$2; + STACKTOP = sp;return ($$1|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, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 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, $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[(35940)>>2]|0; + $4 = $3 & 2; + $5 = ($4|0)==(0); + if (!($5)) { + $6 = (___pthread_mutex_lock((35944))|0); + $7 = ($6|0)==(0); + if (!($7)) { + return; + } + } + $8 = HEAP32[(35512)>>2]|0; + $9 = ($2>>>0)<($8>>>0); + if ($9) { _abort(); // unreachable; } - $114 = ((($10)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 & 1; - $117 = ($116|0)==(0); - if ($117) { + $10 = ((($0)) + -4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 3; + $13 = ($12|0)==(1); + if ($13) { _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; - } + $14 = $11 & -8; + $15 = (($2) + ($14)|0); + $16 = $11 & 1; + $17 = ($16|0)==(0); + L14: do { + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = ($12|0)==(0); + if (!($19)) { + $20 = (0 - ($18))|0; + $21 = (($2) + ($20)|0); + $22 = (($18) + ($14))|0; + $23 = ($21>>>0)<($8>>>0); + if ($23) { + _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; + $24 = HEAP32[(35516)>>2]|0; + $25 = ($21|0)==($24|0); + if ($25) { + $109 = ((($15)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = $110 & 3; + $112 = ($111|0)==(3); + if (!($112)) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $113 = (($21) + ($22)|0); + $114 = ((($21)) + 4|0); + $115 = $22 | 1; + $116 = $110 & -2; + HEAP32[(35504)>>2] = $22; + HEAP32[$109>>2] = $116; + HEAP32[$114>>2] = $115; + HEAP32[$113>>2] = $22; 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; + $26 = $18 >>> 3; + $27 = ($18>>>0)<(256); + if ($27) { + $28 = ((($21)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($21)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = $26 << 1; + $33 = (35536 + ($32<<2)|0); + $34 = ($29|0)==($33|0); + if (!($34)) { + $35 = ($29>>>0)<($8>>>0); + if ($35) { + _abort(); + // unreachable; + } + $36 = ((($29)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==($21|0); + if (!($38)) { + _abort(); + // unreachable; + } } - $158 = ((($141)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==($10|0); - if ($160) { - $$pre$phi443Z2D = $158; + $39 = ($31|0)==($29|0); + if ($39) { + $40 = 1 << $26; + $41 = $40 ^ -1; + $42 = HEAP32[8874]|0; + $43 = $42 & $41; + HEAP32[8874] = $43; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $44 = ($31|0)==($33|0); + if ($44) { + $$pre444 = ((($31)) + 8|0); + $$pre$phi445Z2D = $$pre444; } else { - _abort(); - // unreachable; + $45 = ($31>>>0)<($8>>>0); + if ($45) { + _abort(); + // unreachable; + } + $46 = ((($31)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==($21|0); + if ($48) { + $$pre$phi445Z2D = $46; + } else { + _abort(); + // unreachable; + } } + $49 = ((($29)) + 12|0); + HEAP32[$49>>2] = $31; + HEAP32[$$pre$phi445Z2D>>2] = $29; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; } - $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); + $50 = ((($21)) + 24|0); + $51 = HEAP32[$50>>2]|0; + $52 = ((($21)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($21|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; + if ($54) { + $64 = ((($21)) + 16|0); + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if ($67) { + $68 = HEAP32[$64>>2]|0; + $69 = ($68|0)==(0|0); + if ($69) { + $$3 = 0; break; } else { - $$1398 = $181;$$1402 = $177; + $$1387 = $68;$$1390 = $64; } } else { - $$1398 = $179;$$1402 = $178; + $$1387 = $66;$$1390 = $65; } while(1) { - $183 = ((($$1398)) + 20|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)==(0|0); - if (!($185)) { - $$1398 = $184;$$1402 = $183; + $70 = ((($$1387)) + 20|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)==(0|0); + if (!($72)) { + $$1387 = $71;$$1390 = $70; continue; } - $186 = ((($$1398)) + 16|0); - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { + $73 = ((($$1387)) + 16|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)==(0|0); + if ($75) { break; } else { - $$1398 = $187;$$1402 = $186; + $$1387 = $74;$$1390 = $73; } } - $189 = HEAP32[(33200)>>2]|0; - $190 = ($$1402>>>0)<($189>>>0); - if ($190) { + $76 = ($$1390>>>0)<($8>>>0); + if ($76) { _abort(); // unreachable; } else { - HEAP32[$$1402>>2] = 0; - $$3400 = $$1398; + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; break; } } else { - $167 = ((($10)) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(33200)>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { + $55 = ((($21)) + 8|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($56>>>0)<($8>>>0); + if ($57) { _abort(); // unreachable; } - $171 = ((($168)) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)==($10|0); - if (!($173)) { + $58 = ((($56)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)==($21|0); + if (!($60)) { _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; + $61 = ((($53)) + 8|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==($21|0); + if ($63) { + HEAP32[$58>>2] = $53; + HEAP32[$61>>2] = $56; + $$3 = $53; break; } else { _abort(); @@ -26772,298 +32813,600 @@ function _free($0) { } } } 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); + $77 = ($51|0)==(0|0); + if ($77) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $78 = ((($21)) + 28|0); + $79 = HEAP32[$78>>2]|0; + $80 = (35800 + ($79<<2)|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($21|0)==($81|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; + if ($82) { + HEAP32[$80>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $83 = 1 << $79; + $84 = $83 ^ -1; + $85 = HEAP32[(35500)>>2]|0; + $86 = $85 & $84; + HEAP32[(35500)>>2] = $86; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; } } else { - $201 = HEAP32[(33200)>>2]|0; - $202 = ($163>>>0)<($201>>>0); - if ($202) { + $87 = HEAP32[(35512)>>2]|0; + $88 = ($51>>>0)<($87>>>0); + if ($88) { _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; + $89 = ((($51)) + 16|0); + $90 = HEAP32[$89>>2]|0; + $not$405 = ($90|0)!=($21|0); + $$sink3 = $not$405&1; + $91 = (((($51)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$91>>2] = $$3; + $92 = ($$3|0)==(0|0); + if ($92) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; } else { break; } } } } while(0); - $207 = HEAP32[(33200)>>2]|0; - $208 = ($$3400>>>0)<($207>>>0); - if ($208) { + $93 = HEAP32[(35512)>>2]|0; + $94 = ($$3>>>0)<($93>>>0); + if ($94) { _abort(); // unreachable; } - $209 = ((($$3400)) + 24|0); - HEAP32[$209>>2] = $163; - $210 = ((($10)) + 16|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); + $95 = ((($$3)) + 24|0); + HEAP32[$95>>2] = $51; + $96 = ((($21)) + 16|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)==(0|0); do { - if (!($212)) { - $213 = ($211>>>0)<($207>>>0); - if ($213) { + if (!($98)) { + $99 = ($97>>>0)<($93>>>0); + if ($99) { _abort(); // unreachable; } else { - $214 = ((($$3400)) + 16|0); - HEAP32[$214>>2] = $211; - $215 = ((($211)) + 24|0); - HEAP32[$215>>2] = $$3400; + $100 = ((($$3)) + 16|0); + HEAP32[$100>>2] = $97; + $101 = ((($97)) + 24|0); + HEAP32[$101>>2] = $$3; 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) { + $102 = ((($96)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)==(0|0); + if ($104) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $105 = HEAP32[(35512)>>2]|0; + $106 = ($103>>>0)<($105>>>0); + if ($106) { _abort(); // unreachable; } else { - $221 = ((($$3400)) + 20|0); - HEAP32[$221>>2] = $217; - $222 = ((($217)) + 24|0); - HEAP32[$222>>2] = $$3400; + $107 = ((($$3)) + 20|0); + HEAP32[$107>>2] = $103; + $108 = ((($103)) + 24|0); + HEAP32[$108>>2] = $$3; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; 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; + $$1 = $2;$$1382 = $14;$118 = $2; + label = 55; } - } 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) { + } while(0); + do { + if ((label|0) == 55) { + $117 = ($118>>>0)<($15>>>0); + if (!($117)) { _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; + $119 = ((($15)) + 4|0); + $120 = HEAP32[$119>>2]|0; + $121 = $120 & 1; + $122 = ($121|0)==(0); + if ($122) { + _abort(); + // unreachable; + } + $123 = $120 & 2; + $124 = ($123|0)==(0); + if ($124) { + $125 = HEAP32[(35520)>>2]|0; + $126 = ($15|0)==($125|0); + $127 = HEAP32[(35516)>>2]|0; + if ($126) { + $128 = HEAP32[(35508)>>2]|0; + $129 = (($128) + ($$1382))|0; + HEAP32[(35508)>>2] = $129; + HEAP32[(35520)>>2] = $$1; + $130 = $129 | 1; + $131 = ((($$1)) + 4|0); + HEAP32[$131>>2] = $130; + $132 = ($$1|0)==($127|0); + if (!($132)) { + break; + } + HEAP32[(35516)>>2] = 0; + HEAP32[(35504)>>2] = 0; 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; + $133 = ($15|0)==($127|0); + if ($133) { + $134 = HEAP32[(35504)>>2]|0; + $135 = (($134) + ($$1382))|0; + HEAP32[(35504)>>2] = $135; + HEAP32[(35516)>>2] = $118; + $136 = $135 | 1; + $137 = ((($$1)) + 4|0); + HEAP32[$137>>2] = $136; + $138 = (($118) + ($135)|0); + HEAP32[$138>>2] = $135; + break; + } + $139 = $120 & -8; + $140 = (($139) + ($$1382))|0; + $141 = $120 >>> 3; + $142 = ($120>>>0)<(256); + L106: do { + if ($142) { + $143 = ((($15)) + 8|0); + $144 = HEAP32[$143>>2]|0; + $145 = ((($15)) + 12|0); + $146 = HEAP32[$145>>2]|0; + $147 = $141 << 1; + $148 = (35536 + ($147<<2)|0); + $149 = ($144|0)==($148|0); + if (!($149)) { + $150 = HEAP32[(35512)>>2]|0; + $151 = ($144>>>0)<($150>>>0); + if ($151) { + _abort(); + // unreachable; + } + $152 = ((($144)) + 12|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==($15|0); + if (!($154)) { + _abort(); + // unreachable; + } + } + $155 = ($146|0)==($144|0); + if ($155) { + $156 = 1 << $141; + $157 = $156 ^ -1; + $158 = HEAP32[8874]|0; + $159 = $158 & $157; + HEAP32[8874] = $159; + break; + } + $160 = ($146|0)==($148|0); + if ($160) { + $$pre442 = ((($146)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $161 = HEAP32[(35512)>>2]|0; + $162 = ($146>>>0)<($161>>>0); + if ($162) { + _abort(); + // unreachable; + } + $163 = ((($146)) + 8|0); + $164 = HEAP32[$163>>2]|0; + $165 = ($164|0)==($15|0); + if ($165) { + $$pre$phi443Z2D = $163; + } else { + _abort(); + // unreachable; + } + } + $166 = ((($144)) + 12|0); + HEAP32[$166>>2] = $146; + HEAP32[$$pre$phi443Z2D>>2] = $144; + } else { + $167 = ((($15)) + 24|0); + $168 = HEAP32[$167>>2]|0; + $169 = ((($15)) + 12|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==($15|0); + do { + if ($171) { + $182 = ((($15)) + 16|0); + $183 = ((($182)) + 4|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if ($185) { + $186 = HEAP32[$182>>2]|0; + $187 = ($186|0)==(0|0); + if ($187) { + $$3400 = 0; + break; + } else { + $$1398 = $186;$$1402 = $182; + } + } else { + $$1398 = $184;$$1402 = $183; + } + while(1) { + $188 = ((($$1398)) + 20|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($189|0)==(0|0); + if (!($190)) { + $$1398 = $189;$$1402 = $188; + continue; + } + $191 = ((($$1398)) + 16|0); + $192 = HEAP32[$191>>2]|0; + $193 = ($192|0)==(0|0); + if ($193) { + break; + } else { + $$1398 = $192;$$1402 = $191; + } + } + $194 = HEAP32[(35512)>>2]|0; + $195 = ($$1402>>>0)<($194>>>0); + if ($195) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $172 = ((($15)) + 8|0); + $173 = HEAP32[$172>>2]|0; + $174 = HEAP32[(35512)>>2]|0; + $175 = ($173>>>0)<($174>>>0); + if ($175) { + _abort(); + // unreachable; + } + $176 = ((($173)) + 12|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==($15|0); + if (!($178)) { + _abort(); + // unreachable; + } + $179 = ((($170)) + 8|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==($15|0); + if ($181) { + HEAP32[$176>>2] = $170; + HEAP32[$179>>2] = $173; + $$3400 = $170; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $196 = ($168|0)==(0|0); + if (!($196)) { + $197 = ((($15)) + 28|0); + $198 = HEAP32[$197>>2]|0; + $199 = (35800 + ($198<<2)|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($15|0)==($200|0); + do { + if ($201) { + HEAP32[$199>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $202 = 1 << $198; + $203 = $202 ^ -1; + $204 = HEAP32[(35500)>>2]|0; + $205 = $204 & $203; + HEAP32[(35500)>>2] = $205; + break L106; + } + } else { + $206 = HEAP32[(35512)>>2]|0; + $207 = ($168>>>0)<($206>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($168)) + 16|0); + $209 = HEAP32[$208>>2]|0; + $not$ = ($209|0)!=($15|0); + $$sink5 = $not$&1; + $210 = (((($168)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$210>>2] = $$3400; + $211 = ($$3400|0)==(0|0); + if ($211) { + break L106; + } else { + break; + } + } + } + } while(0); + $212 = HEAP32[(35512)>>2]|0; + $213 = ($$3400>>>0)<($212>>>0); + if ($213) { + _abort(); + // unreachable; + } + $214 = ((($$3400)) + 24|0); + HEAP32[$214>>2] = $168; + $215 = ((($15)) + 16|0); + $216 = HEAP32[$215>>2]|0; + $217 = ($216|0)==(0|0); + do { + if (!($217)) { + $218 = ($216>>>0)<($212>>>0); + if ($218) { + _abort(); + // unreachable; + } else { + $219 = ((($$3400)) + 16|0); + HEAP32[$219>>2] = $216; + $220 = ((($216)) + 24|0); + HEAP32[$220>>2] = $$3400; + break; + } + } + } while(0); + $221 = ((($215)) + 4|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); + if (!($223)) { + $224 = HEAP32[(35512)>>2]|0; + $225 = ($222>>>0)<($224>>>0); + if ($225) { + _abort(); + // unreachable; + } else { + $226 = ((($$3400)) + 20|0); + HEAP32[$226>>2] = $222; + $227 = ((($222)) + 24|0); + HEAP32[$227>>2] = $$3400; + break; + } + } + } + } + } while(0); + $228 = $140 | 1; + $229 = ((($$1)) + 4|0); + HEAP32[$229>>2] = $228; + $230 = (($118) + ($140)|0); + HEAP32[$230>>2] = $140; + $231 = HEAP32[(35516)>>2]|0; + $232 = ($$1|0)==($231|0); + if ($232) { + HEAP32[(35504)>>2] = $140; break; } else { - $$0383 = $297;$$0384 = $298; + $$2 = $140; + } + } else { + $233 = $120 & -2; + HEAP32[$119>>2] = $233; + $234 = $$1382 | 1; + $235 = ((($$1)) + 4|0); + HEAP32[$235>>2] = $234; + $236 = (($118) + ($$1382)|0); + HEAP32[$236>>2] = $$1382; + $$2 = $$1382; + } + $237 = $$2 >>> 3; + $238 = ($$2>>>0)<(256); + if ($238) { + $239 = $237 << 1; + $240 = (35536 + ($239<<2)|0); + $241 = HEAP32[8874]|0; + $242 = 1 << $237; + $243 = $241 & $242; + $244 = ($243|0)==(0); + if ($244) { + $245 = $241 | $242; + HEAP32[8874] = $245; + $$pre = ((($240)) + 8|0); + $$0403 = $240;$$pre$phiZ2D = $$pre; + } else { + $246 = ((($240)) + 8|0); + $247 = HEAP32[$246>>2]|0; + $248 = HEAP32[(35512)>>2]|0; + $249 = ($247>>>0)<($248>>>0); + if ($249) { + _abort(); + // unreachable; + } else { + $$0403 = $247;$$pre$phiZ2D = $246; + } } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $250 = ((($$0403)) + 12|0); + HEAP32[$250>>2] = $$1; + $251 = ((($$1)) + 8|0); + HEAP32[$251>>2] = $$0403; + $252 = ((($$1)) + 12|0); + HEAP32[$252>>2] = $240; + break; } - if ((label|0) == 121) { - $300 = HEAP32[(33200)>>2]|0; - $301 = ($296>>>0)<($300>>>0); - if ($301) { - _abort(); - // unreachable; + $253 = $$2 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0396 = 0; + } else { + $255 = ($$2>>>0)>(16777215); + if ($255) { + $$0396 = 31; } 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; + $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 = $$2 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0396 = $277; + } + } + $278 = (35800 + ($$0396<<2)|0); + $279 = ((($$1)) + 28|0); + HEAP32[$279>>2] = $$0396; + $280 = ((($$1)) + 16|0); + $281 = ((($$1)) + 20|0); + HEAP32[$281>>2] = 0; + HEAP32[$280>>2] = 0; + $282 = HEAP32[(35500)>>2]|0; + $283 = 1 << $$0396; + $284 = $282 & $283; + $285 = ($284|0)==(0); + do { + if ($285) { + $286 = $282 | $283; + HEAP32[(35500)>>2] = $286; + HEAP32[$278>>2] = $$1; + $287 = ((($$1)) + 24|0); + HEAP32[$287>>2] = $278; + $288 = ((($$1)) + 12|0); + HEAP32[$288>>2] = $$1; + $289 = ((($$1)) + 8|0); + HEAP32[$289>>2] = $$1; + } else { + $290 = HEAP32[$278>>2]|0; + $291 = ($$0396|0)==(31); + $292 = $$0396 >>> 1; + $293 = (25 - ($292))|0; + $294 = $291 ? 0 : $293; + $295 = $$2 << $294; + $$0383 = $295;$$0384 = $290; + while(1) { + $296 = ((($$0384)) + 4|0); + $297 = HEAP32[$296>>2]|0; + $298 = $297 & -8; + $299 = ($298|0)==($$2|0); + if ($299) { + label = 126; + break; + } + $300 = $$0383 >>> 31; + $301 = (((($$0384)) + 16|0) + ($300<<2)|0); + $302 = $$0383 << 1; + $303 = HEAP32[$301>>2]|0; + $304 = ($303|0)==(0|0); + if ($304) { + label = 123; + break; + } else { + $$0383 = $302;$$0384 = $303; + } + } + if ((label|0) == 123) { + $305 = HEAP32[(35512)>>2]|0; + $306 = ($301>>>0)<($305>>>0); + if ($306) { + _abort(); + // unreachable; + } else { + HEAP32[$301>>2] = $$1; + $307 = ((($$1)) + 24|0); + HEAP32[$307>>2] = $$0384; + $308 = ((($$1)) + 12|0); + HEAP32[$308>>2] = $$1; + $309 = ((($$1)) + 8|0); + HEAP32[$309>>2] = $$1; + break; + } + } + else if ((label|0) == 126) { + $310 = ((($$0384)) + 8|0); + $311 = HEAP32[$310>>2]|0; + $312 = HEAP32[(35512)>>2]|0; + $313 = ($311>>>0)>=($312>>>0); + $not$437 = ($$0384>>>0)>=($312>>>0); + $314 = $313 & $not$437; + if ($314) { + $315 = ((($311)) + 12|0); + HEAP32[$315>>2] = $$1; + HEAP32[$310>>2] = $$1; + $316 = ((($$1)) + 8|0); + HEAP32[$316>>2] = $311; + $317 = ((($$1)) + 12|0); + HEAP32[$317>>2] = $$0384; + $318 = ((($$1)) + 24|0); + HEAP32[$318>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } } - } - 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); + $319 = HEAP32[(35528)>>2]|0; + $320 = (($319) + -1)|0; + HEAP32[(35528)>>2] = $320; + $321 = ($320|0)==(0); + if ($321) { + $$0212$in$i = (35980); + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $322 = ($$0212$i|0)==(0|0); + $323 = ((($$0212$i)) + 8|0); + if ($322) { + break; + } else { + $$0212$in$i = $323; + } } + HEAP32[(35528)>>2] = -1; } } } 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 { + $324 = HEAP32[(35940)>>2]|0; + $325 = $324 & 2; + $326 = ($325|0)==(0); + if ($326) { 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; + (___pthread_mutex_unlock((35944))|0); return; } function runPostSets() { @@ -27497,6 +33840,9 @@ function _roundf(f) { f = +f; return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? } +function _emscripten_set_current_thread_status(newStatus) { + newStatus = newStatus|0; +} function _bitshift64Lshr(low, high, bits) { low = low|0; high = high|0; bits = bits|0; var ander = 0; @@ -27508,6 +33854,10 @@ function _bitshift64Lshr(low, high, bits) { tempRet0 = 0; return (high >>> (bits - 32))|0; } +function _emscripten_conditional_set_current_thread_status(expectedStatus, newStatus) { + expectedStatus = expectedStatus|0; + newStatus = newStatus|0; +} function _sbrk(increment) { increment = increment|0; var oldDynamicTop = 0; @@ -27515,25 +33865,24 @@ function _sbrk(increment) { 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; + + // Perform a compare-and-swap loop to update the new dynamic top value. This is because + // this function can becalled simultaneously in multiple threads. + do { + oldDynamicTop = Atomics_load(HEAP32, DYNAMICTOP_PTR>>2)|0; + newDynamicTop = oldDynamicTop + increment | 0; + // Asking to increase dynamic top to a too high value? In pthreads builds we cannot + // enlarge memory, so this needs to fail. + 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. + | (newDynamicTop|0) > (totalMemory|0)) { + abortOnCannotGrowMemory()|0; } - } + // Attempt to update the dynamic top to new value. Another thread may have beat this thread to the update, + // in which case we will need to start over by iterating the loop body again. + oldDynamicTopOnChange = Atomics_compareExchange(HEAP32, DYNAMICTOP_PTR>>2, oldDynamicTop|0, newDynamicTop|0)|0; + } while((oldDynamicTopOnChange|0) != (oldDynamicTop|0)); return oldDynamicTop|0; } function _bitshift64Shl(low, high, bits) { @@ -28321,25 +34670,43 @@ var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glG 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_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 }; + return { _emscripten_sync_run_in_main_thread_3: _emscripten_sync_run_in_main_thread_3, _roundf: _roundf, _bitshift64Shl: _bitshift64Shl, _emscripten_atomic_load_f32: _emscripten_atomic_load_f32, ___uremdi3: ___uremdi3, ___udivdi3: ___udivdi3, _emscripten_atomic_xor_u64: _emscripten_atomic_xor_u64, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _emscripten_atomic_and_u64: _emscripten_atomic_and_u64, _emscripten_sync_run_in_main_thread: _emscripten_sync_run_in_main_thread, _emscripten_sync_run_in_main_thread_4: _emscripten_sync_run_in_main_thread_4, _emscripten_sync_run_in_main_thread_5: _emscripten_sync_run_in_main_thread_5, _emscripten_sync_run_in_main_thread_6: _emscripten_sync_run_in_main_thread_6, _emscripten_sync_run_in_main_thread_7: _emscripten_sync_run_in_main_thread_7, _emscripten_sync_run_in_main_thread_0: _emscripten_sync_run_in_main_thread_0, _emscripten_sync_run_in_main_thread_1: _emscripten_sync_run_in_main_thread_1, _emscripten_sync_run_in_main_thread_2: _emscripten_sync_run_in_main_thread_2, __emscripten_atomic_fetch_and_sub_u64: __emscripten_atomic_fetch_and_sub_u64, _emscripten_atomic_exchange_u32: _emscripten_atomic_exchange_u32, _fflush: _fflush, _emscripten_set_current_thread_status: _emscripten_set_current_thread_status, _emscripten_atomic_cas_u64: _emscripten_atomic_cas_u64, _memset: _memset, _emscripten_atomic_sub_u64: _emscripten_atomic_sub_u64, _emscripten_sync_run_in_main_thread_xprintf_varargs: _emscripten_sync_run_in_main_thread_xprintf_varargs, _i64Subtract: _i64Subtract, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, __emscripten_atomic_fetch_and_and_u64: __emscripten_atomic_fetch_and_and_u64, _emscripten_atomic_add_u64: _emscripten_atomic_add_u64, _emscripten_atomic_store_f64: _emscripten_atomic_store_f64, ___muldsi3: ___muldsi3, __emscripten_atomic_fetch_and_xor_u64: __emscripten_atomic_fetch_and_xor_u64, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_atomic_store_u64: _emscripten_atomic_store_u64, _emscripten_atomic_load_f64: _emscripten_atomic_load_f64, _emscripten_get_global_libc: _emscripten_get_global_libc, __emscripten_atomic_fetch_and_add_u64: __emscripten_atomic_fetch_and_add_u64, __emscripten_atomic_fetch_and_or_u64: __emscripten_atomic_fetch_and_or_u64, _emscripten_GetProcAddress: _emscripten_GetProcAddress, _emscripten_async_run_in_main_thread: _emscripten_async_run_in_main_thread, ___errno_location: ___errno_location, _main: _main, _emscripten_main_thread_process_queued_calls: _emscripten_main_thread_process_queued_calls, _emscripten_atomic_load_u64: _emscripten_atomic_load_u64, _free: _free, _emscripten_atomic_store_f32: _emscripten_atomic_store_f32, _emscripten_atomic_exchange_u64: _emscripten_atomic_exchange_u64, _memmove: _memmove, ___pthread_tsd_run_dtors: ___pthread_tsd_run_dtors, _malloc: _malloc, _memcpy: _memcpy, _emscripten_conditional_set_current_thread_status: _emscripten_conditional_set_current_thread_status, _sbrk: _sbrk, _emscripten_atomic_or_u64: _emscripten_atomic_or_u64, _strstr: _strstr, ___emscripten_pthread_data_constructor: ___emscripten_pthread_data_constructor, 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___emscripten_atomic_fetch_and_xor_u64 = asm["__emscripten_atomic_fetch_and_xor_u64"]; asm["__emscripten_atomic_fetch_and_xor_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_xor_u64.apply(null, arguments); +}; + 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() { +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__main.apply(null, arguments); +return real__bitshift64Shl.apply(null, arguments); +}; + +var real__emscripten_atomic_load_f32 = asm["_emscripten_atomic_load_f32"]; asm["_emscripten_atomic_load_f32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_load_f32.apply(null, arguments); +}; + +var real____emscripten_pthread_data_constructor = asm["___emscripten_pthread_data_constructor"]; asm["___emscripten_pthread_data_constructor"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_pthread_data_constructor.apply(null, arguments); }; var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { @@ -28348,16 +34715,22 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real_stackSave.apply(null, arguments); }; -var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { +var real__emscripten_atomic_xor_u64 = asm["_emscripten_atomic_xor_u64"]; asm["_emscripten_atomic_xor_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_xor_u64.apply(null, arguments); }; -var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { +var real__emscripten_atomic_load_u64 = asm["_emscripten_atomic_load_u64"]; asm["_emscripten_atomic_load_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_load_u64.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__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { @@ -28366,10 +34739,76 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real__bitshift64Lshr.apply(null, arguments); }; -var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { +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__bitshift64Shl.apply(null, arguments); +return real_getTempRet0.apply(null, arguments); +}; + +var real__emscripten_atomic_and_u64 = asm["_emscripten_atomic_and_u64"]; asm["_emscripten_atomic_and_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread = asm["_emscripten_sync_run_in_main_thread"]; asm["_emscripten_sync_run_in_main_thread"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_4 = asm["_emscripten_sync_run_in_main_thread_4"]; asm["_emscripten_sync_run_in_main_thread_4"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_4.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_5 = asm["_emscripten_sync_run_in_main_thread_5"]; asm["_emscripten_sync_run_in_main_thread_5"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_5.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_6 = asm["_emscripten_sync_run_in_main_thread_6"]; asm["_emscripten_sync_run_in_main_thread_6"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_6.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_7 = asm["_emscripten_sync_run_in_main_thread_7"]; asm["_emscripten_sync_run_in_main_thread_7"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_7.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_0 = asm["_emscripten_sync_run_in_main_thread_0"]; asm["_emscripten_sync_run_in_main_thread_0"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_0.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_1 = asm["_emscripten_sync_run_in_main_thread_1"]; asm["_emscripten_sync_run_in_main_thread_1"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_1.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_2 = asm["_emscripten_sync_run_in_main_thread_2"]; asm["_emscripten_sync_run_in_main_thread_2"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_2.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_sub_u64 = asm["__emscripten_atomic_fetch_and_sub_u64"]; asm["__emscripten_atomic_fetch_and_sub_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_sub_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_exchange_u32 = asm["_emscripten_atomic_exchange_u32"]; asm["_emscripten_atomic_exchange_u32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_exchange_u32.apply(null, arguments); }; var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { @@ -28378,22 +34817,46 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real__fflush.apply(null, arguments); }; +var real__emscripten_set_current_thread_status = asm["_emscripten_set_current_thread_status"]; asm["_emscripten_set_current_thread_status"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_set_current_thread_status.apply(null, arguments); +}; + +var real__emscripten_atomic_cas_u64 = asm["_emscripten_atomic_cas_u64"]; asm["_emscripten_atomic_cas_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_cas_u64.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() { +var real__emscripten_atomic_sub_u64 = asm["_emscripten_atomic_sub_u64"]; asm["_emscripten_atomic_sub_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_sub_u64.apply(null, arguments); }; -var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { +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__llvm_bswap_i32.apply(null, arguments); +return real__main.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_xprintf_varargs = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_xprintf_varargs.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____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() { @@ -28402,6 +34865,18 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real____muldi3.apply(null, arguments); }; +var real___emscripten_atomic_fetch_and_and_u64 = asm["__emscripten_atomic_fetch_and_and_u64"]; asm["__emscripten_atomic_fetch_and_and_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_3 = asm["_emscripten_sync_run_in_main_thread_3"]; asm["_emscripten_sync_run_in_main_thread_3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_3.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)'); @@ -28420,12 +34895,6 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a 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)'); @@ -28438,28 +34907,52 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real__i64Add.apply(null, arguments); }; +var real__emscripten_atomic_store_u64 = asm["_emscripten_atomic_store_u64"]; asm["_emscripten_atomic_store_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_store_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_load_f64 = asm["_emscripten_atomic_load_f64"]; asm["_emscripten_atomic_load_f64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_load_f64.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_atomic_fetch_and_add_u64 = asm["__emscripten_atomic_fetch_and_add_u64"]; asm["__emscripten_atomic_fetch_and_add_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_add_u64.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_or_u64 = asm["__emscripten_atomic_fetch_and_or_u64"]; asm["__emscripten_atomic_fetch_and_or_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_or_u64.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() { +var real__emscripten_async_run_in_main_thread = asm["_emscripten_async_run_in_main_thread"]; asm["_emscripten_async_run_in_main_thread"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_async_run_in_main_thread.apply(null, arguments); }; -var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { +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____errno_location.apply(null, arguments); +return real__llvm_bswap_i32.apply(null, arguments); }; var real____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = function() { @@ -28468,28 +34961,52 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real____muldsi3.apply(null, arguments); }; +var real__emscripten_main_thread_process_queued_calls = asm["_emscripten_main_thread_process_queued_calls"]; asm["_emscripten_main_thread_process_queued_calls"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_main_thread_process_queued_calls.apply(null, arguments); +}; + +var real__emscripten_atomic_add_u64 = asm["_emscripten_atomic_add_u64"]; asm["_emscripten_atomic_add_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_add_u64.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() { +var real__emscripten_atomic_store_f32 = asm["_emscripten_atomic_store_f32"]; asm["_emscripten_atomic_store_f32"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_store_f32.apply(null, arguments); }; -var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { +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__memmove.apply(null, arguments); +return real_setThrew.apply(null, arguments); }; -var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { +var real__emscripten_atomic_exchange_u64 = asm["_emscripten_atomic_exchange_u64"]; asm["_emscripten_atomic_exchange_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_exchange_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_store_f64 = asm["_emscripten_atomic_store_f64"]; asm["_emscripten_atomic_store_f64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_store_f64.apply(null, arguments); +}; + +var real____pthread_tsd_run_dtors = asm["___pthread_tsd_run_dtors"]; asm["___pthread_tsd_run_dtors"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____pthread_tsd_run_dtors.apply(null, arguments); }; var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { @@ -28498,43 +35015,120 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real_stackRestore.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__malloc = asm["_malloc"]; asm["_malloc"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); return real__malloc.apply(null, arguments); }; + +var real_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__emscripten_conditional_set_current_thread_status = asm["_emscripten_conditional_set_current_thread_status"]; asm["_emscripten_conditional_set_current_thread_status"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_conditional_set_current_thread_status.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__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__emscripten_atomic_or_u64 = asm["_emscripten_atomic_or_u64"]; asm["_emscripten_atomic_or_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_or_u64.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 __emscripten_atomic_fetch_and_xor_u64 = Module["__emscripten_atomic_fetch_and_xor_u64"] = asm["__emscripten_atomic_fetch_and_xor_u64"]; var _roundf = Module["_roundf"] = asm["_roundf"]; -var _main = Module["_main"] = asm["_main"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _emscripten_atomic_load_f32 = Module["_emscripten_atomic_load_f32"] = asm["_emscripten_atomic_load_f32"]; +var ___emscripten_pthread_data_constructor = Module["___emscripten_pthread_data_constructor"] = asm["___emscripten_pthread_data_constructor"]; 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 _emscripten_atomic_xor_u64 = Module["_emscripten_atomic_xor_u64"] = asm["_emscripten_atomic_xor_u64"]; +var _emscripten_atomic_load_u64 = Module["_emscripten_atomic_load_u64"] = asm["_emscripten_atomic_load_u64"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _emscripten_atomic_and_u64 = Module["_emscripten_atomic_and_u64"] = asm["_emscripten_atomic_and_u64"]; +var _emscripten_sync_run_in_main_thread = Module["_emscripten_sync_run_in_main_thread"] = asm["_emscripten_sync_run_in_main_thread"]; +var _emscripten_sync_run_in_main_thread_4 = Module["_emscripten_sync_run_in_main_thread_4"] = asm["_emscripten_sync_run_in_main_thread_4"]; +var _emscripten_sync_run_in_main_thread_5 = Module["_emscripten_sync_run_in_main_thread_5"] = asm["_emscripten_sync_run_in_main_thread_5"]; +var _emscripten_sync_run_in_main_thread_6 = Module["_emscripten_sync_run_in_main_thread_6"] = asm["_emscripten_sync_run_in_main_thread_6"]; +var _emscripten_sync_run_in_main_thread_7 = Module["_emscripten_sync_run_in_main_thread_7"] = asm["_emscripten_sync_run_in_main_thread_7"]; +var _emscripten_sync_run_in_main_thread_0 = Module["_emscripten_sync_run_in_main_thread_0"] = asm["_emscripten_sync_run_in_main_thread_0"]; +var _emscripten_sync_run_in_main_thread_1 = Module["_emscripten_sync_run_in_main_thread_1"] = asm["_emscripten_sync_run_in_main_thread_1"]; +var _emscripten_sync_run_in_main_thread_2 = Module["_emscripten_sync_run_in_main_thread_2"] = asm["_emscripten_sync_run_in_main_thread_2"]; +var __emscripten_atomic_fetch_and_sub_u64 = Module["__emscripten_atomic_fetch_and_sub_u64"] = asm["__emscripten_atomic_fetch_and_sub_u64"]; +var _emscripten_atomic_exchange_u32 = Module["_emscripten_atomic_exchange_u32"] = asm["_emscripten_atomic_exchange_u32"]; var _fflush = Module["_fflush"] = asm["_fflush"]; +var _emscripten_set_current_thread_status = Module["_emscripten_set_current_thread_status"] = asm["_emscripten_set_current_thread_status"]; +var _emscripten_atomic_cas_u64 = Module["_emscripten_atomic_cas_u64"] = asm["_emscripten_atomic_cas_u64"]; var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; -var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _emscripten_atomic_sub_u64 = Module["_emscripten_atomic_sub_u64"] = asm["_emscripten_atomic_sub_u64"]; +var _main = Module["_main"] = asm["_main"]; +var _emscripten_sync_run_in_main_thread_xprintf_varargs = Module["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var __emscripten_atomic_fetch_and_and_u64 = Module["__emscripten_atomic_fetch_and_and_u64"] = asm["__emscripten_atomic_fetch_and_and_u64"]; +var _emscripten_sync_run_in_main_thread_3 = Module["_emscripten_sync_run_in_main_thread_3"] = asm["_emscripten_sync_run_in_main_thread_3"]; 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 _memset = Module["_memset"] = asm["_memset"]; var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_atomic_store_u64 = Module["_emscripten_atomic_store_u64"] = asm["_emscripten_atomic_store_u64"]; +var _emscripten_atomic_load_f64 = Module["_emscripten_atomic_load_f64"] = asm["_emscripten_atomic_load_f64"]; var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var __emscripten_atomic_fetch_and_add_u64 = Module["__emscripten_atomic_fetch_and_add_u64"] = asm["__emscripten_atomic_fetch_and_add_u64"]; +var __emscripten_atomic_fetch_and_or_u64 = Module["__emscripten_atomic_fetch_and_or_u64"] = asm["__emscripten_atomic_fetch_and_or_u64"]; 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 _emscripten_async_run_in_main_thread = Module["_emscripten_async_run_in_main_thread"] = asm["_emscripten_async_run_in_main_thread"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = asm["_emscripten_main_thread_process_queued_calls"]; +var _emscripten_atomic_add_u64 = Module["_emscripten_atomic_add_u64"] = asm["_emscripten_atomic_add_u64"]; var _free = Module["_free"] = asm["_free"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var _emscripten_atomic_store_f32 = Module["_emscripten_atomic_store_f32"] = asm["_emscripten_atomic_store_f32"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _emscripten_atomic_exchange_u64 = Module["_emscripten_atomic_exchange_u64"] = asm["_emscripten_atomic_exchange_u64"]; +var _emscripten_atomic_store_f64 = Module["_emscripten_atomic_store_f64"] = asm["_emscripten_atomic_store_f64"]; +var ___pthread_tsd_run_dtors = Module["___pthread_tsd_run_dtors"] = asm["___pthread_tsd_run_dtors"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _emscripten_conditional_set_current_thread_status = Module["_emscripten_conditional_set_current_thread_status"] = asm["_emscripten_conditional_set_current_thread_status"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; var _memmove = Module["_memmove"] = asm["_memmove"]; +var _emscripten_atomic_or_u64 = Module["_emscripten_atomic_or_u64"] = asm["_emscripten_atomic_or_u64"]; 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"]; @@ -28716,6 +35310,7 @@ function exit(status, implicit) { 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 { + PThread.terminateAllThreads(); ABORT = true; EXITSTATUS = status; @@ -28736,6 +35331,7 @@ Module['exit'] = Module.exit = exit; var abortDecorators = []; function abort(what) { + if (ENVIRONMENT_IS_PTHREAD) console.error('Pthread aborting at ' + new Error().stack); if (what !== undefined) { Module.print(what); Module.printErr(what); @@ -28775,7 +35371,7 @@ if (Module['noInitialRun']) { } -run(); +if (!ENVIRONMENT_IS_PTHREAD) run(); // {{POST_RUN_ADDITIONS}} diff --git a/docs/examples/web/physac/physics_friction.c b/docs/examples/web/physac/physics_friction.c index db1b5f4c..d0156306 100644 --- a/docs/examples/web/physac/physics_friction.c +++ b/docs/examples/web/physac/physics_friction.c @@ -2,9 +2,11 @@ * * Physac - Physics friction * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* 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) +* +* Use the following line to compile: * -* Use the following code to compile (-static -lpthread): * 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 * @@ -15,29 +17,50 @@ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "../src/physac.h" +#include "physac.h" + +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +int screenWidth = 800; +int screenHeight = 450; + +// Physac logo drawing position +int logoX = 0; +int logoY = 15; + +PhysicsBody bodyA; +PhysicsBody bodyB; +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- int main() { // Initialization //-------------------------------------------------------------------------------------- - int screenWidth = 800; - int screenHeight = 450; - SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Physics friction"); - SetTargetFPS(60); // Physac logo drawing position - int logoX = screenWidth - MeasureText("Physac", 30) - 10; - int logoY = 15; + logoX = screenWidth - MeasureText("Physac", 30) - 10; // Initialize physics and default physics bodies InitPhysics(); // Create floor rectangle physics body - PhysicsBody floor = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, screenWidth, 100, 10); - floor->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) + PhysicsBody ground = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, screenWidth, 100, 10); + ground->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) + PhysicsBody wall = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight*0.8f }, 10, 80, 10); wall->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) @@ -52,88 +75,104 @@ int main() SetPhysicsBodyRotation(rectRight, 330*DEG2RAD); // Create dynamic physics bodies - PhysicsBody bodyA = CreatePhysicsBodyRectangle((Vector2){ 35, screenHeight*0.6f }, 40, 40, 10); + bodyA = CreatePhysicsBodyRectangle((Vector2){ 35, screenHeight*0.6f }, 40, 40, 10); bodyA->staticFriction = 0.1f; bodyA->dynamicFriction = 0.1f; SetPhysicsBodyRotation(bodyA, 30*DEG2RAD); - PhysicsBody bodyB = CreatePhysicsBodyRectangle((Vector2){ screenWidth - 35, screenHeight*0.6f }, 40, 40, 10); + bodyB = CreatePhysicsBodyRectangle((Vector2){ screenWidth - 35, screenHeight*0.6f }, 40, 40, 10); bodyB->staticFriction = 1; bodyB->dynamicFriction = 1; SetPhysicsBodyRotation(bodyB, 330*DEG2RAD); - //-------------------------------------------------------------------------------------- +#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 { - // Update - //---------------------------------------------------------------------------------- - if (IsKeyPressed('R')) // Reset physics input - { - // Reset dynamic physics bodies position, velocity and rotation - bodyA->position = (Vector2){ 35, screenHeight*0.6f }; - bodyA->velocity = (Vector2){ 0, 0 }; - bodyA->angularVelocity = 0; - SetPhysicsBodyRotation(bodyA, 30*DEG2RAD); - - bodyB->position = (Vector2){ screenWidth - 35, screenHeight*0.6f }; - bodyB->velocity = (Vector2){ 0, 0 }; - bodyB->angularVelocity = 0; - SetPhysicsBodyRotation(bodyB, 330*DEG2RAD); - } - //---------------------------------------------------------------------------------- + UpdateDrawFrame(); + } +#endif - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); + // De-Initialization + //-------------------------------------------------------------------------------------- + ClosePhysics(); // Uninitialize physics - ClearBackground(BLACK); + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- - DrawFPS(screenWidth - 90, screenHeight - 30); + return 0; +} - // Draw created physics bodies - int bodiesCount = GetPhysicsBodiesCount(); - for (int i = 0; i < bodiesCount; i++) - { - PhysicsBody body = GetPhysicsBody(i); +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + if (IsKeyPressed('R')) // Reset physics input + { + // Reset dynamic physics bodies position, velocity and rotation + bodyA->position = (Vector2){ 35, screenHeight*0.6f }; + bodyA->velocity = (Vector2){ 0, 0 }; + bodyA->angularVelocity = 0; + SetPhysicsBodyRotation(bodyA, 30*DEG2RAD); + + bodyB->position = (Vector2){ screenWidth - 35, screenHeight*0.6f }; + bodyB->velocity = (Vector2){ 0, 0 }; + bodyB->angularVelocity = 0; + SetPhysicsBodyRotation(bodyB, 330*DEG2RAD); + } + //---------------------------------------------------------------------------------- + + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); + + ClearBackground(BLACK); + + DrawFPS(screenWidth - 90, screenHeight - 30); - if (body != NULL) + // Draw created physics bodies + int bodiesCount = GetPhysicsBodiesCount(); + for (int i = 0; i < bodiesCount; i++) + { + PhysicsBody body = GetPhysicsBody(i); + + if (body != NULL) + { + int vertexCount = GetPhysicsShapeVerticesCount(i); + for (int j = 0; j < vertexCount; j++) { - int vertexCount = GetPhysicsShapeVerticesCount(i); - for (int j = 0; j < vertexCount; j++) - { - // Get physics bodies shape vertices to draw lines - // Note: GetPhysicsShapeVertex() already calculates rotation transformations - Vector2 vertexA = GetPhysicsShapeVertex(body, j); - - int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape - Vector2 vertexB = GetPhysicsShapeVertex(body, jj); - - DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions - } - } - } + // Get physics bodies shape vertices to draw lines + // Note: GetPhysicsShapeVertex() already calculates rotation transformations + Vector2 vertexA = GetPhysicsShapeVertex(body, j); - DrawRectangle(0, screenHeight - 49, screenWidth, 49, BLACK); + int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape + Vector2 vertexB = GetPhysicsShapeVertex(body, jj); - DrawText("Friction amount", (screenWidth - MeasureText("Friction amount", 30))/2, 75, 30, WHITE); - DrawText("0.1", bodyA->position.x - MeasureText("0.1", 20)/2, bodyA->position.y - 7, 20, WHITE); - DrawText("1", bodyB->position.x - MeasureText("1", 20)/2, bodyB->position.y - 7, 20, WHITE); + DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions + } + } + } - DrawText("Press 'R' to reset example", 10, 10, 10, WHITE); + DrawRectangle(0, screenHeight - 49, screenWidth, 49, BLACK); - DrawText("Physac", logoX, logoY, 30, WHITE); - DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); + DrawText("Friction amount", (screenWidth - MeasureText("Friction amount", 30))/2, 75, 30, WHITE); + DrawText("0.1", bodyA->position.x - MeasureText("0.1", 20)/2, bodyA->position.y - 7, 20, WHITE); + DrawText("1", bodyB->position.x - MeasureText("1", 20)/2, bodyB->position.y - 7, 20, WHITE); - EndDrawing(); - //---------------------------------------------------------------------------------- - } + DrawText("Press 'R' to reset example", 10, 10, 10, WHITE); - // De-Initialization - //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- + DrawText("Physac", logoX, logoY, 30, WHITE); + DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); - return 0; + EndDrawing(); + //---------------------------------------------------------------------------------- } + diff --git a/docs/examples/web/physac/physics_friction.js b/docs/examples/web/physac/physics_friction.js index 47c62b2c..3e6235f9 100644 --- a/docs/examples/web/physac/physics_friction.js +++ b/docs/examples/web/physac/physics_friction.js @@ -59,6 +59,11 @@ if (Module['ENVIRONMENT']) { ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; } +var ENVIRONMENT_IS_PTHREAD; +if (!ENVIRONMENT_IS_PTHREAD) ENVIRONMENT_IS_PTHREAD = false; // ENVIRONMENT_IS_PTHREAD=true will have been preset in pthread-main.js. Make it false in the main runtime thread. +var PthreadWorkerInit; // Collects together variables that are needed at initialization time for the web workers that host pthreads. +if (!ENVIRONMENT_IS_PTHREAD) PthreadWorkerInit = {}; +var currentScriptUrl = ENVIRONMENT_IS_WORKER ? undefined : document.currentScript.src; if (ENVIRONMENT_IS_NODE) { // Expose functionality in the same simple way that the shells work @@ -1178,9 +1183,14 @@ 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 +if (!ENVIRONMENT_IS_PTHREAD) { // Pthreads have already initialized these variables in src/pthread-main.js, where they were passed to the thread worker at startup time STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; staticSealed = false; +} +if (ENVIRONMENT_IS_PTHREAD) { + staticSealed = true; // The static memory area has been initialized already in the main thread, pthreads skip this. +} // Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. function writeStackCookie() { @@ -1207,7 +1217,7 @@ function abortOnCannotGrowMemory() { function enlargeMemory() { - abortOnCannotGrowMemory(); + abort('Cannot enlarge memory arrays, since compiling with pthreads support enabled (-s USE_PTHREADS=1).'); } @@ -1221,27 +1231,69 @@ assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' 'JS engine does not provide full typed array support'); - -// Use a provided buffer, if there is one, or else allocate a new one -if (Module['buffer']) { - buffer = Module['buffer']; - assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); +if (typeof SharedArrayBuffer !== 'undefined') { + if (!ENVIRONMENT_IS_PTHREAD) buffer = new SharedArrayBuffer(TOTAL_MEMORY); + // Currently SharedArrayBuffer does not have a slice() operation, so polyfill it in. + // Adapted from https://github.com/ttaubert/node-arraybuffer-slice, (c) 2014 Tim Taubert + // arraybuffer-slice may be freely distributed under the MIT license. + (function (undefined) { + "use strict"; + function clamp(val, length) { + val = (val|0) || 0; + if (val < 0) return Math.max(val + length, 0); + return Math.min(val, length); + } + if (typeof SharedArrayBuffer !== 'undefined' && !SharedArrayBuffer.prototype.slice) { + SharedArrayBuffer.prototype.slice = function (from, to) { + var length = this.byteLength; + var begin = clamp(from, length); + var end = length; + if (to !== undefined) end = clamp(to, length); + if (begin > end) return new ArrayBuffer(0); + var num = end - begin; + var target = new ArrayBuffer(num); + var targetArray = new Uint8Array(target); + var sourceArray = new Uint8Array(this, begin, num); + targetArray.set(sourceArray); + return target; + }; + } + })(); } else { - // Use a WebAssembly memory where available - { - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - assert(buffer.byteLength === TOTAL_MEMORY); + if (!ENVIRONMENT_IS_PTHREAD) buffer = new ArrayBuffer(TOTAL_MEMORY); } updateGlobalBufferViews(); +if (typeof Atomics === 'undefined') { + // Polyfill singlethreaded atomics ops from http://lars-t-hansen.github.io/ecmascript_sharedmem/shmem.html#Atomics.add + // No thread-safety needed since we don't have multithreading support. + Atomics = {}; + Atomics['add'] = function(t, i, v) { var w = t[i]; t[i] += v; return w; } + Atomics['and'] = function(t, i, v) { var w = t[i]; t[i] &= v; return w; } + Atomics['compareExchange'] = function(t, i, e, r) { var w = t[i]; if (w == e) t[i] = r; return w; } + Atomics['exchange'] = function(t, i, v) { var w = t[i]; t[i] = v; return w; } + Atomics['wait'] = function(t, i, v, o) { if (t[i] != v) return 'not-equal'; else return 'timed-out'; } + Atomics['wake'] = function(t, i, c) { return 0; } + Atomics['wakeOrRequeue'] = function(t, i1, c, i2, v) { return 0; } + Atomics['isLockFree'] = function(s) { return true; } + Atomics['load'] = function(t, i) { return t[i]; } + Atomics['or'] = function(t, i, v) { var w = t[i]; t[i] |= v; return w; } + Atomics['store'] = function(t, i, v) { t[i] = v; return v; } + Atomics['sub'] = function(t, i, v) { var w = t[i]; t[i] -= v; return w; } + Atomics['xor'] = function(t, i, v) { var w = t[i]; t[i] ^= v; return w; } +} + function getTotalMemory() { return TOTAL_MEMORY; } // Endianness check (note: assumes compiler arch was little-endian) +if (!ENVIRONMENT_IS_PTHREAD) { HEAP32[0] = 0x63736d65; /* 'emsc' */ +} else { + if (HEAP32[0] !== 0x63736d65) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; +} HEAP16[1] = 0x6373; if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; @@ -1285,8 +1337,10 @@ var __ATPOSTRUN__ = []; // functions called after the runtime has exited var runtimeInitialized = false; var runtimeExited = false; +if (ENVIRONMENT_IS_PTHREAD) runtimeInitialized = true; // The runtime is hosted in the main thread, and bits shared to pthreads via SharedArrayBuffer. No need to init again in pthread. function preRun() { + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. // compatibility - merge in anything from Module['preRun'] at this time if (Module['preRun']) { if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; @@ -1299,6 +1353,7 @@ function preRun() { function ensureInitRuntime() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. if (runtimeInitialized) return; runtimeInitialized = true; callRuntimeCallbacks(__ATINIT__); @@ -1306,17 +1361,20 @@ function ensureInitRuntime() { function preMain() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. callRuntimeCallbacks(__ATMAIN__); } function exitRuntime() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. callRuntimeCallbacks(__ATEXIT__); runtimeExited = true; } function postRun() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. // compatibility - merge in anything from Module['postRun'] at this time if (Module['postRun']) { if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; @@ -1435,6 +1493,18 @@ function reSign(value, bits, ignore) { return value; } +// Atomics.exchange is not yet implemented in the spec, so polyfill that in via compareExchange in the meanwhile. +// TODO: Keep an eye out for the opportunity to remove this once Atomics.exchange is available. +if (typeof Atomics !== 'undefined' && !Atomics['exchange']) { + Atomics['exchange'] = function(heap, index, val) { + var oldVal, oldVal2; + do { + oldVal = Atomics['load'](heap, index); + oldVal2 = Atomics['compareExchange'](heap, index, oldVal, val); + } while(oldVal != oldVal2); + return oldVal; + } +} // 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) { @@ -1504,6 +1574,9 @@ function getUniqueRunDependency(id) { } function addRunDependency(id) { + // We should never get here in pthreads (could no-op this out if called in pthreads, but that might indicate a bug in caller side, + // so good to be very explicit) + assert(!ENVIRONMENT_IS_PTHREAD); runDependencies++; if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); @@ -1572,52 +1645,43 @@ 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)]); } }]; +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }, + function() { postMessage({ cmd: 'processQueuedMainThreadWork' }) }]; function _emscripten_asm_const_iii(code, a0, a1) { return ASM_CONSTS[code](a0, a1); } +function _emscripten_asm_const_v(code) { + return ASM_CONSTS[code](); +} + STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 36016; - /* global initializers */ __ATINIT__.push(); +STATICTOP = STATIC_BASE + 38336; + /* global initializers */ if (!ENVIRONMENT_IS_PTHREAD) __ATINIT__.push({ func: function() { ___emscripten_pthread_data_constructor() } }); -/* 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); +if (!ENVIRONMENT_IS_PTHREAD) { +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,15,0,0,0,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,180,11,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,145,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,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,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,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], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([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,101,109,115,99,114,105,112,116,101,110,95,105,115,95,109,97,105,110,95,114,117,110,116,105,109,101,95,116,104,114,101,97,100,40,41,32,38,38,32,34,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,32,109,117,115,116,32,98,101,32,99,97,108,108,101,100,32,102,114,111,109,32,116,104,101,32,109,97,105,110,32,116,104,114,101,97,100,33,34,0,67,58,92,101,109,115,100,107,92,101,109,115,99,114,105,112,116,101,110,92,49,46,51,55,46,57,92,115,121,115,116,101,109,92,108,105,98,92,112,116,104,114,101,97,100,92,108,105,98,114,97,114,121,95,112,116,104,114,101,97,100,46,99,0,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,0,48,32,38,38,32,34,73,110,118,97,108,105,100,32,69,109,115,99,114,105,112,116,101,110,32,112,116,104,114,101,97,100,32,95,100,111,95,99,97,108,108,32,111,112,99,111,100,101,33,34,0,95,100,111,95,99,97,108,108,0,99,97,108,108,0,101,109,115,99,114,105,112,116,101,110,95,97,115,121,110,99,95,114,117,110,95,105,110,95,109,97,105,110,95,116,104,114,101,97,100,0,112,111,115,116,77,101,115,115,97,103,101,40,123,32,99,109,100,58,32,39,112,114,111,99,101,115,115,81,117,101,117,101,100,77,97,105,110,84,104,114,101,97,100,87,111,114,107,39,32,125,41,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +} /* no memory initializer */ -var tempDoublePtr = STATICTOP; STATICTOP += 16; +var tempDoublePtr; + +if (!ENVIRONMENT_IS_PTHREAD) tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); assert(tempDoublePtr % 8 == 0); @@ -1880,6 +1944,8 @@ function copyTempDouble(ptr) { function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + function ___pthread_setcancelstate() { return 0 } + function _emscripten_get_now() { abort() } @@ -3360,3466 +3426,7549 @@ function copyTempDouble(ptr) { } - 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; }); + 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--; + } } - },registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up--; up) { + parts.unshift('..'); + } } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); + 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 } - 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; + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; } - },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; + // 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; } - return true; + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); } - // 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; + 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; } } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); + 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) {} + } - 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; + 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); } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; + 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 + } + }; } - 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); + 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; } - },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--); - } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; } - },_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; + 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. } - - 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--); - } - } + 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. } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); + + 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; } - 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(); + // 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. } - }; - - 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 ); + node.usedBytes = newSize; + return; } - 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(); + // 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; + } } - }; - 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(); + // 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. + } } - }; - // 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(); + 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 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]; + 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); } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); + } catch (e) { + return callback(e); } - 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 (!req) { + return callback("Unable to connect to IndexedDB"); } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } + var fileStore; - 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; + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); } - 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(); + + if (!fileStore.indexNames.contains('timestamp')) { + fileStore.createIndex('timestamp', 'timestamp', { unique: false }); } }; + req.onsuccess = function() { + db = req.result; - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + // add to the cache + IDBFS.dbs[name] = db; + callback(null, db); }; - 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; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },getLocalSet:function (mount, callback) { + var entries = {}; - 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(); + function isRealDir(p) { + return p !== '.' && p !== '..'; + }; + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p); } }; - 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 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 }; } - 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; + return callback(null, { type: 'local', entries: entries }); + },getRemoteSet:function (mount, callback) { + var entries = {}; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); - if (shouldCancel) { + 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 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; + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index('timestamp'); - 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; + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; + if (!cursor) { + return callback(null, { type: 'remote', db: db, entries: entries }); + } - 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"]; + entries[cursor.primaryKey] = { timestamp: cursor.key }; - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } + cursor.continue(); + }; + }); + },loadLocalEntry:function (path, callback) { + var stat, node; - 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 ); + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path); + } catch (e) { + return callback(e); } - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + 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 { - target = JSEvents.findEventTarget(target); + 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')); + } - var handlerFunc = function(event) { - var e = event || window.event; + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp); + } catch (e) { + return callback(e); + } - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + callback(null); + },removeLocalEntry:function (path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); + if (FS.isDir(stat.mode)) { + FS.rmdir(path); + } else if (FS.isFile(stat.mode)) { + FS.unlink(path); } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; + } catch (e) { + return callback(e); } - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + 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(); }; - 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); - } + },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 handlerFunc = function(event) { - var e = event || window.event; + 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++; + } + }); - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + if (!total) { + return callback(null); + } - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); + 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); } }; - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + transaction.onerror = function(e) { + done(this.error); + e.preventDefault(); }; - 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; + // 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 { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; + IDBFS.loadLocalEntry(path, function (err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done); + }); } - } - - // 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; + // 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 { - return -3; + 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); } - - if (strategy.canvasResizedCallback) { - Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + 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 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 ); + return stat.mode; + },realPath:function (node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + 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 { - target = JSEvents.findEventTarget(target); + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } - - 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(); + },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]); + } + } } - }; - - 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(); + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } - }; - 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 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; } - 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 ); + function base(path) { + var parts = path.split('/'); + return parts[parts.length-1]; } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + // 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 { - target = JSEvents.findEventTarget(target); + 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 handlerFunc = function(event) { - var e = event || window.event; + var _stdin; if (ENVIRONMENT_IS_PTHREAD) _stdin = PthreadWorkerInit._stdin; else PthreadWorkerInit._stdin = _stdin = allocate(1, "i32*", ALLOC_STATIC); - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + var _stdout; if (ENVIRONMENT_IS_PTHREAD) _stdout = PthreadWorkerInit._stdout; else PthreadWorkerInit._stdout = _stdout = allocate(1, "i32*", ALLOC_STATIC); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; + var _stderr; if (ENVIRONMENT_IS_PTHREAD) _stderr = PthreadWorkerInit._stderr; else PthreadWorkerInit._stderr = _stderr = allocate(1, "i32*", ALLOC_STATIC);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 || {}; - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; + } } - target = JSEvents.findEventTarget(target); + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } - var handlerFunc = function(event) { - var e = event || window.event; + // split the path + var parts = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), false); - 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; + // 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; } - - 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; + + 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; } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; + } - if (++numTouches >= 32) { - break; + // 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); + } } } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + } - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); - if (shouldCancel) { - e.preventDefault(); + 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; - 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 < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; } - 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]; + 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; } } - 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; - } + },lookupNode:function (parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent); } - 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 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; + }; - var handlerFunc = function(event) { - var e = event || window.event; + 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); } + } + }); + } - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); - if (shouldCancel) { - e.preventDefault(); + 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); + } - 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; + return mounts; + },syncfs:function (populate, callback) { + if (typeof(populate) === 'function') { + callback = populate; + populate = false; + } - var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); + 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 (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; + if (++completed >= mounts.length) { + doCallback(null); } }; - 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 ); - } + // 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; - var handlerFunc = function(event) { - var e = event || window.event; + if (root && FS.root) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + mountpoint = lookup.path; // use the absolute path + node = lookup.node; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); - if (shouldCancel) { - e.preventDefault(); + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); } - }; - 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']; + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } } - var handlerFunc = function(event) { - var e = event || window.event; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] }; - 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; + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; - // 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; + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } - // 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; + return mountRoot; + },unmount:function (mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - 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); - } - + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } - var _emscripten_GetProcAddress=undefined; - Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); - 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; + 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); } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err); } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); } - - 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; + 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; } } - } - }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)]; + },mkdev:function (path, mode, dev) { + if (typeof(dev) === 'undefined') { + dev = mode; + mode = 438 /* 0666 */; } - } 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)]; + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:function (oldpath, newpath) { + if (!PATH.resolve(oldpath)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); } - } 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); + 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); } - }; - } - 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; + 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'); + } - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - return JSEvents.lastGamepadState.length; - } - - function _emscripten_glUniform4iv(location, count, value) { + // 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); - 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) { + FS.mount(MEMFS, {}, '/'); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); - 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)]; + 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); } - } 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; + },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 { - return -2; + ___setErrNo(ret.error); + return null; } - } - - 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) } + },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) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 54, 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_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); } - function _emscripten_glDeleteVertexArrays(n, vaos) { + function _glDeleteTextures(n, textures) { for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; + 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 _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_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); } - function _emscripten_glGetTexParameteriv(target, pname, params) { + 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; } - 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); + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); } - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); } - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); } - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - 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)]; + 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; }); } - } 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) } - - + },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']; - 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); - } - + 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; - 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; + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; } - } 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; + // 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; } } - } - }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() {} - + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); - - 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) { + 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); - 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)]; + 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; } - } 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]; + 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(); + } + }; - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; + 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(); + } + }; - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; + 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 (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 (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } - 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 + ')'; + 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; } - 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]); + 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(); } - 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 + ')'; + }; + + 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(); } - 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 + 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(); } - 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; + 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; - 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; + 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); } - 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; + 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 ); } - 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) } - + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(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["___uremdi3"] = ___uremdi3; - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - + var handlerFunc = function(event) { + var e = event || window.event; - 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']); - } + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - 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 shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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; + 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 ); + } - 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 (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } + var handlerFunc = function(event) { + var e = event || window.event; - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - 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); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); } - } - 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); + }; + + 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; } } - 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); + // 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. - 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) { + 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; } } - 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; + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); } - 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); - } - + 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 ); + } - 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) { + 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; - 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) { + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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 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 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. + var handlerFunc = function(event) { + var e = event || window.event; - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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); + 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 ); + } - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _pthread_create() { - return 11; - } - - function _emscripten_glDrawArrays(mode, first, count) { + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } - GLctx.drawArrays(mode, first, count); + var handlerFunc = function(event) { + var e = event || window.event; - } - - 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); + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - 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; + 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 ); } - 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; + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glVertexAttrib4fv(index, v) { + 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; - 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) { + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - var bufArray = GL.tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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); + 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; } - - 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; + function _utime(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(12, path, times); + // int utime(const char *path, const struct utimbuf *times); + // http://pubs.opengroup.org/onlinepubs/009695399/basedefs/utime.h.html + var time; + if (times) { + // NOTE: We don't keep track of access timestamps. + var offset = 4; + time = HEAP32[(((times)+(offset))>>2)]; + time *= 1000; } else { - if (length) HEAP32[((length)>>2)]=0; + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; } } - - Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); - return 0; + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); } - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); + + + + var PROCINFO={ppid:1,pid:42,sid:42,pgid:42}; + + + var __pthread_ptr=0; + + var __pthread_is_main_browser_thread=0;function __register_pthread_ptr(pthreadPtr, isMainBrowserThread, isMainRuntimeThread) { + pthreadPtr = pthreadPtr|0; + isMainBrowserThread = isMainBrowserThread|0; + isMainRuntimeThread = isMainRuntimeThread|0; + __pthread_ptr = pthreadPtr; + __pthread_is_main_browser_thread = isMainBrowserThread; + __pthread_is_main_runtime_thread = isMainRuntimeThread; } - - 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; + + var _emscripten_main_thread_process_queued_calls=undefined;var PThread={MAIN_THREAD_ID:1,mainThreadInfo:{schedPolicy:0,schedPrio:0},unusedWorkerPool:[],runningWorkers:[],initMainThreadBlock:function () { + if (ENVIRONMENT_IS_PTHREAD) return undefined; + PThread.mainThreadBlock = allocate(244, "i32*", ALLOC_STATIC); + __register_pthread_ptr(PThread.mainThreadBlock, /*isMainBrowserThread=*/!ENVIRONMENT_IS_WORKER, /*isMainRuntimeThread=*/1); // Pass the thread address inside the asm.js scope to store it for fast access that avoids the need for a FFI out. + + for (var i = 0; i < 244/4; ++i) HEAPU32[PThread.mainThreadBlock/4+i] = 0; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((PThread.mainThreadBlock)+(24))>>2)]=PThread.mainThreadBlock; + + // Allocate memory for thread-local storage. + var tlsMemory = allocate(128 * 4, "i32*", ALLOC_STATIC); + for (var i = 0; i < 128; ++i) HEAPU32[tlsMemory/4+i] = 0; + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 52 ) >> 2, PThread.mainThreadBlock); // Main thread ID. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 56 ) >> 2, PROCINFO.pid); // Process ID. + + },pthreads:{},pthreadIdCounter:2,exitHandlers:null,setThreadStatus:function () {},runExitHandlers:function () { + if (PThread.exitHandlers !== null) { + while (PThread.exitHandlers.length > 0) { + PThread.exitHandlers.pop()(); + } + PThread.exitHandlers = null; + } + + // Call into the musl function that runs destructors of all thread-specific data. + if (ENVIRONMENT_IS_PTHREAD && threadInfoStruct) ___pthread_tsd_run_dtors(); + },threadExit:function (exitCode) { + var tb = _pthread_self(); + if (tb) { // If we haven't yet exited? + Atomics.store(HEAPU32, (tb + 4 ) >> 2, exitCode); + // When we publish this, the main thread is free to deallocate the thread object and we are done. + // Therefore set threadInfoStruct = 0; above to 'release' the object in this worker thread. + Atomics.store(HEAPU32, (tb + 0 ) >> 2, 1); + + // Disable all cancellation so that executing the cleanup handlers won't trigger another JS + // canceled exception to be thrown. + Atomics.store(HEAPU32, (tb + 72 ) >> 2, 1/*PTHREAD_CANCEL_DISABLE*/); + Atomics.store(HEAPU32, (tb + 76 ) >> 2, 0/*PTHREAD_CANCEL_DEFERRED*/); + PThread.runExitHandlers(); + + _emscripten_futex_wake(tb + 0, 2147483647); + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + threadInfoStruct = 0; + if (ENVIRONMENT_IS_PTHREAD) { + // This worker no longer owns any WebGL OffscreenCanvases, so transfer them back to parent thread. + var transferList = []; + + + postMessage({ cmd: 'exit' }); + } + } + },threadCancel:function () { + PThread.runExitHandlers(); + Atomics.store(HEAPU32, (threadInfoStruct + 4 ) >> 2, -1/*PTHREAD_CANCELED*/); + Atomics.store(HEAPU32, (threadInfoStruct + 0 ) >> 2, 1); // Mark the thread as no longer running. + _emscripten_futex_wake(threadInfoStruct + 0, 2147483647); // wake all threads + threadInfoStruct = selfThreadId = 0; // Not hosting a pthread anymore in this worker, reset the info structures to null. + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + postMessage({ cmd: 'cancelDone' }); + },terminateAllThreads:function () { + for (var t in PThread.pthreads) { + var pthread = PThread.pthreads[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.pthreads = {}; + for (var t in PThread.unusedWorkerPool) { + var pthread = PThread.unusedWorkerPool[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.unusedWorkerPool = []; + for (var t in PThread.runningWorkers) { + var pthread = PThread.runningWorkers[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.runningWorkers = []; + },freeThreadData:function (pthread) { + if (!pthread) return; + if (pthread.threadInfoStruct) { + var tlsMemory = HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]; + HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]=0; + _free(pthread.tlsMemory); + _free(pthread.threadInfoStruct); + } + pthread.threadInfoStruct = 0; + if (pthread.allocatedOwnStack && pthread.stackBase) _free(pthread.stackBase); + pthread.stackBase = 0; + if (pthread.worker) pthread.worker.pthread = null; + },receiveObjectTransfer:function (data) { + },allocateUnusedWorkers:function (numWorkers, onFinishedLoading) { + if (typeof SharedArrayBuffer === 'undefined') return; // No multithreading support, no-op. + Module['print']('Preallocating ' + numWorkers + ' workers for a pthread spawn pool.'); + + var numWorkersLoaded = 0; + for (var i = 0; i < numWorkers; ++i) { + var pthreadMainJs = 'pthread-main.js'; + // Allow HTML module to configure the location where the 'pthread-main.js' file will be loaded from, + // either via Module.locateFile() function, or via Module.pthreadMainPrefixURL string. If neither + // of these are passed, then the default URL 'pthread-main.js' relative to the main html file is loaded. + if (typeof Module['locateFile'] === 'function') pthreadMainJs = Module['locateFile'](pthreadMainJs); + else if (Module['pthreadMainPrefixURL']) pthreadMainJs = Module['pthreadMainPrefixURL'] + pthreadMainJs; + var worker = new Worker(pthreadMainJs); + + worker.onmessage = function(e) { + // If this message is intended to a recipient that is not the main thread, forward it to the target thread. + if (e.data.targetThread && e.data.targetThread != _pthread_self()) { + var thread = PThread.pthreads[e.data.targetThread]; + if (thread) { + thread.worker.postMessage(e.data, e.data.transferList); + } else { + console.error('Internal error! Worker sent a message "' + e.data.cmd + '" to target pthread ' + e.data.targetThread + ', but that thread no longer exists!'); + } + return; + } + + if (e.data.cmd === 'processQueuedMainThreadWork') { + // TODO: Must post message to main Emscripten thread in PROXY_TO_WORKER mode. + _emscripten_main_thread_process_queued_calls(); + } else if (e.data.cmd === 'spawnThread') { + __spawn_thread(e.data); + } else if (e.data.cmd === 'cleanupThread') { + __cleanup_thread(e.data.thread); + } else if (e.data.cmd === 'killThread') { + __kill_thread(e.data.thread); + } else if (e.data.cmd === 'cancelThread') { + __cancel_thread(e.data.thread); + } else if (e.data.cmd === 'loaded') { + ++numWorkersLoaded; + if (numWorkersLoaded === numWorkers && onFinishedLoading) { + onFinishedLoading(); + } + } else if (e.data.cmd === 'print') { + Module['print']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'printErr') { + Module['printErr']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'alert') { + alert('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'exit') { + // currently no-op + } else if (e.data.cmd === 'cancelDone') { + PThread.freeThreadData(worker.pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + // TODO: Free if detached. + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } else if (e.data.cmd === 'objectTransfer') { + PThread.receiveObjectTransfer(e.data); + } else { + Module['printErr']("worker sent an unknown command " + e.data.cmd); + } + }; + + worker.onerror = function(e) { + Module['printErr']('pthread sent an error! ' + e.filename + ':' + e.lineno + ': ' + e.message); + }; + + // Allocate tempDoublePtr for the worker. This is done here on the worker's behalf, since we may need to do this statically + // if the runtime has not been loaded yet, etc. - so we just use getMemory, which is main-thread only. + var tempDoublePtr = getMemory(8); // TODO: leaks. Cleanup after worker terminates. + + // Ask the new worker to load up the Emscripten-compiled page. This is a heavy operation. + worker.postMessage({ + cmd: 'load', + url: currentScriptUrl, + buffer: HEAPU8.buffer, + tempDoublePtr: tempDoublePtr, + TOTAL_MEMORY: TOTAL_MEMORY, + STATICTOP: STATICTOP, + DYNAMIC_BASE: DYNAMIC_BASE, + DYNAMICTOP_PTR: DYNAMICTOP_PTR, + PthreadWorkerInit: PthreadWorkerInit + }); + PThread.unusedWorkerPool.push(worker); + } + },getNewWorker:function () { + if (PThread.unusedWorkerPool.length == 0) PThread.allocateUnusedWorkers(1); + if (PThread.unusedWorkerPool.length > 0) return PThread.unusedWorkerPool.pop(); + else return null; + },busySpinWait:function (msecs) { + var t = performance.now() + msecs; + while(performance.now() < t) { + ; + } + }};var __pthread_is_main_runtime_thread=0;function _emscripten_is_main_runtime_thread() { + return __pthread_is_main_runtime_thread|0; // Semantically the same as testing "!ENVIRONMENT_IS_PTHREAD" outside the asm.js scope } - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); + 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 _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 _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); } - 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_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); } - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); 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 _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); } - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); + 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 _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } + function _glDisable(x0) { GLctx['disable'](x0) } - 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_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); } - 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); - } - } + + Module["_memset"] = _memset; - 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 _atexit(func, arg) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(110, func, arg); + __ATEXIT__.unshift({ func: func, arg: arg }); } - 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 _glfwMakeContextCurrent(winid) {} - 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 _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; } - function ___unlock() {} + function ___lock() {} - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + function _glCullFace(x0) { GLctx['cullFace'](x0) } - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); + 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_glFlush() { GLctx['flush']() } + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } - function _glUniformMatrix4fv(location, count, transpose, value) { + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; - 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)]; + 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; } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + // 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 _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); } - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glFrontFace(x0) { GLctx['frontFace'](x0) } + 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 _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); } - 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 _glfwGetPrimaryMonitor() { + return 1; } - 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; + 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; + } } - var id = GL.getNewId(GL.vaos); - vao.name = id; - GL.vaos[id] = vao; - HEAP32[(((arrays)+(i*4))>>2)]=id; } + }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 _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; + 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; } - return ret; + GLctx.deleteShader(shader); + GL.shaders[id] = null; } - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); + 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_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); } -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); + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } -STACK_MAX = STACK_BASE + TOTAL_STACK; + 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; + } -DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); + 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); + } -HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; + function ___syscall6(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 6, 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; + } + } -staticSealed = true; // seal the static portion of memory + 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; + } -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); + 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 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 _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } -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 _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } -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 ___syscall140(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 140, 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 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 ___syscall146(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 146, 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 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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } -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 _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } -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 _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } -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) } + + var _tzname; if (ENVIRONMENT_IS_PTHREAD) _tzname = PthreadWorkerInit._tzname; else PthreadWorkerInit._tzname = _tzname = allocate(8, "i32*", ALLOC_STATIC); + + var _daylight; if (ENVIRONMENT_IS_PTHREAD) _daylight = PthreadWorkerInit._daylight; else PthreadWorkerInit._daylight = _daylight = allocate(1, "i32*", ALLOC_STATIC); + + var _timezone; if (ENVIRONMENT_IS_PTHREAD) _timezone = PthreadWorkerInit._timezone; else PthreadWorkerInit._timezone = _timezone = allocate(1, "i32*", ALLOC_STATIC);function _tzset() { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_0(119); + // TODO: Use (malleable) environment variables instead of system settings. + if (_tzset.called) return; + _tzset.called = true; + + HEAP32[((_timezone)>>2)]=-(new Date()).getTimezoneOffset() * 60; + + var winter = new Date(2000, 0, 1); + var summer = new Date(2000, 6, 1); + HEAP32[((_daylight)>>2)]=Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + }; + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), 'i8', ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), 'i8', ALLOC_NORMAL); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + // Northern hemisphere + HEAP32[((_tzname)>>2)]=winterNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=summerNamePtr; + } else { + HEAP32[((_tzname)>>2)]=summerNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=winterNamePtr; + } + } -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) } + + Module["_i64Subtract"] = _i64Subtract; -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) } + + Module["_i64Add"] = _i64Add; -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 _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } -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 _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } -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 _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } -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 _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } -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 _emscripten_glFinish() { GLctx['finish']() } -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 _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } -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 _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } -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 _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 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 _sysconf(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(72, name); + // long sysconf(int name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html + switch(name) { + case 30: return PAGE_SIZE; + case 85: + var maxHeapSize = 2*1024*1024*1024 - 16777216; + maxHeapSize = HEAPU8.length; + return maxHeapSize / PAGE_SIZE; + case 132: + case 133: + case 12: + case 137: + case 138: + case 15: + case 235: + case 16: + case 17: + case 18: + case 19: + case 20: + case 149: + case 13: + case 10: + case 236: + case 153: + case 9: + case 21: + case 22: + case 159: + case 154: + case 14: + case 77: + case 78: + case 139: + case 80: + case 81: + case 82: + case 68: + case 67: + case 164: + case 11: + case 29: + case 47: + case 48: + case 95: + case 52: + case 51: + case 46: + return 200809; + case 79: + return 0; + case 27: + case 246: + case 127: + case 128: + case 23: + case 24: + case 160: + case 161: + case 181: + case 182: + case 242: + case 183: + case 184: + case 243: + case 244: + case 245: + case 165: + case 178: + case 179: + case 49: + case 50: + case 168: + case 169: + case 175: + case 170: + case 171: + case 172: + case 97: + case 76: + case 32: + case 173: + case 35: + return -1; + case 176: + case 177: + case 7: + case 155: + case 8: + case 157: + case 125: + case 126: + case 92: + case 93: + case 129: + case 130: + case 131: + case 94: + case 91: + return 1; + case 74: + case 60: + case 69: + case 70: + case 4: + return 1024; + case 31: + case 42: + case 72: + return 32; + case 87: + case 26: + case 33: + return 2147483647; + case 34: + case 1: + return 47839; + case 38: + case 36: + return 99; + case 43: + case 37: + return 2048; + case 0: return 2097152; + case 3: return 65536; + case 28: return 32768; + case 44: return 32767; + case 75: return 16384; + case 39: return 1000; + case 89: return 700; + case 71: return 256; + case 40: return 255; + case 2: return 100; + case 180: return 64; + case 25: return 20; + case 5: return 16; + case 6: return 6; + case 73: return 4; + case 84: { + if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; + return 1; + } + } + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } -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 _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } -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 _glClear(x0) { GLctx['clear'](x0) } -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 _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 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 _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 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 _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } -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 _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } -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 _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } -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 _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } -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 _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 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 _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } -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 _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } -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 _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } -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 _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[((ptr)>>2)]=(now/1000)|0; // seconds + HEAP32[(((ptr)+(4))>>2)]=((now % 1000)*1000)|0; // microseconds + return 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 _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } -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 _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } -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 _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 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 _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 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 _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 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 _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } -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 _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} + + + + + var _environ; if (ENVIRONMENT_IS_PTHREAD) _environ = PthreadWorkerInit._environ; else PthreadWorkerInit._environ = _environ = allocate(1, "i32*", ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env) { + // WARNING: Arbitrary limit! + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + + // Statically allocate memory for the environment. + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + // Set default values. Use string keys for Closure Compiler compatibility. + ENV['USER'] = ENV['LOGNAME'] = 'web_user'; + ENV['PATH'] = '/'; + ENV['PWD'] = '/'; + ENV['HOME'] = '/home/web_user'; + ENV['LANG'] = 'C'; + ENV['_'] = Module['thisProgram']; + // Allocate memory. + poolPtr = allocate(TOTAL_ENV_SIZE, 'i8', ALLOC_STATIC); + envPtr = allocate(MAX_ENV_VALUES * 4, + 'i8*', ALLOC_STATIC); + HEAP32[((envPtr)>>2)]=poolPtr; + HEAP32[((_environ)>>2)]=envPtr; + } else { + envPtr = HEAP32[((_environ)>>2)]; + poolPtr = HEAP32[((envPtr)>>2)]; + } + + // Collect key=value lines. + var strings = []; + var totalSize = 0; + for (var key in env) { + if (typeof env[key] === 'string') { + var line = key + '=' + env[key]; + strings.push(line); + totalSize += line.length; + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error('Environment size exceeded TOTAL_ENV_SIZE!'); + } + + // Make new. + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[(((envPtr)+(i * ptrSize))>>2)]=poolPtr; + poolPtr += line.length + 1; + } + HEAP32[(((envPtr)+(strings.length * ptrSize))>>2)]=0; + }var ENV={};function _clearenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(112, name); + // int clearenv (void); + // http://www.gnu.org/s/hello/manual/libc/Environment-Access.html#index-clearenv-3107 + ENV = {}; + ___buildEnvironment(ENV); + return 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 _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } -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 _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } -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 _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } -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 _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } -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); - } -} + 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); + } -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; + 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); + } -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'; + 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) { - 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); + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + var _emscripten_asm_const=true; - 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; + function _chroot(path) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(37, path); + // int chroot(const char *path); + // http://pubs.opengroup.org/onlinepubs/7908799/xsh/chroot.html + ___setErrNo(ERRNO_CODES.EACCES); + return -1; + } - 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; + function _glEnable(x0) { GLctx['enable'](x0) } - 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; + + + 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 _unsetenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(114, name); + // int unsetenv(const char *name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/unsetenv.html + if (name === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + name = Pointer_stringify(name); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name)) { + delete ENV[name]; + ___buildEnvironment(ENV); + } + return 0; + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + + + 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']); + }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 ___clock_gettime() { + return _clock_gettime.apply(null, arguments) + } + + 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_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + + function __cleanup_thread(pthread_ptr) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _cleanup_thread() can only ever be called from main application thread!'; + if (!pthread_ptr) throw 'Internal Error! Null pthread_ptr in _cleanup_thread!'; + HEAP32[(((pthread_ptr)+(24))>>2)]=0; + var pthread = PThread.pthreads[pthread_ptr]; + var worker = pthread.worker; + PThread.freeThreadData(pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } + + function __pthread_testcancel_js() { + if (!ENVIRONMENT_IS_PTHREAD) return; + if (!threadInfoStruct) return; + var cancelDisabled = Atomics.load(HEAPU32, (threadInfoStruct + 72 ) >> 2); + if (cancelDisabled) return; + var canceled = Atomics.load(HEAPU32, (threadInfoStruct + 0 ) >> 2); + if (canceled == 2) throw 'Canceled!'; + }function _pthread_join(thread, status) { + if (!thread) { + Module['printErr']('pthread_join attempted on a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + if (ENVIRONMENT_IS_PTHREAD && selfThreadId == thread) { + Module['printErr']('PThread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + else if (!ENVIRONMENT_IS_PTHREAD && PThread.mainThreadBlock == thread) { + Module['printErr']('Main thread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_join attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var detached = Atomics.load(HEAPU32, (thread + 80 ) >> 2); + if (detached) { + Module['printErr']('Attempted to join thread ' + thread + ', which was already detached!'); + return ERRNO_CODES.EINVAL; // The thread is already detached, can no longer join it! + } + for (;;) { + var threadStatus = Atomics.load(HEAPU32, (thread + 0 ) >> 2); + if (threadStatus == 1) { // Exited? + var threadExitCode = Atomics.load(HEAPU32, (thread + 4 ) >> 2); + if (status) HEAP32[((status)>>2)]=threadExitCode; + Atomics.store(HEAPU32, (thread + 80 ) >> 2, 1); // Mark the thread as detached. + + if (!ENVIRONMENT_IS_PTHREAD) __cleanup_thread(thread); + else postMessage({ cmd: 'cleanupThread', thread: thread}); + return 0; + } + // TODO HACK! Replace the _js variant with just _pthread_testcancel: + //_pthread_testcancel(); + __pthread_testcancel_js(); + // In main runtime thread (the thread that initialized the Emscripten C runtime and launched main()), assist pthreads in performing operations + // that they need to access the Emscripten main runtime for. + if (!ENVIRONMENT_IS_PTHREAD) _emscripten_main_thread_process_queued_calls(); + _emscripten_futex_wait(thread + 0, threadStatus, ENVIRONMENT_IS_PTHREAD ? 100 : 1); + } + } + + + + 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 __main_thread_futex_wait_address; if (ENVIRONMENT_IS_PTHREAD) __main_thread_futex_wait_address = PthreadWorkerInit.__main_thread_futex_wait_address; else PthreadWorkerInit.__main_thread_futex_wait_address = __main_thread_futex_wait_address = allocate(1, "i32*", ALLOC_STATIC);function _emscripten_futex_wait(addr, val, timeout) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0) return -22; + // dump('futex_wait addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ENVIRONMENT_IS_WORKER) { + var ret = Atomics.wait(HEAP32, addr >> 2, val, timeout); + // dump('futex_wait done by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ret === 'timed-out') return -110; + if (ret === 'not-equal') return -11; + if (ret === 'ok') return 0; + throw 'Atomics.wait returned an unexpected value ' + ret; + } else { + // Atomics.wait is not available in the main browser thread, so simulate it via busy spinning. + var loadedVal = Atomics.load(HEAP32, addr >> 2); + if (val != loadedVal) return -11; + + var tNow = performance.now(); + var tEnd = tNow + timeout; + + + // Register globally which address the main thread is simulating to be waiting on. When zero, main thread is not waiting on anything, + // and on nonzero, the contents of address pointed by __main_thread_futex_wait_address tell which address the main thread is simulating its wait on. + Atomics.store(HEAP32, __main_thread_futex_wait_address >> 2, addr); + var ourWaitAddress = addr; // We may recursively re-enter this function while processing queued calls, in which case we'll do a spurious wakeup of the older wait operation. + while (addr == ourWaitAddress) { + tNow = performance.now(); + if (tNow > tEnd) { + return -110; + } + _emscripten_main_thread_process_queued_calls(); // We are performing a blocking loop here, so must pump any pthreads if they want to perform operations that are proxied. + addr = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); // Look for a worker thread waking us up. + } + return 0; + } + } + + 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; + } + + + + var cttz_i8; if (ENVIRONMENT_IS_PTHREAD) cttz_i8 = PthreadWorkerInit.cttz_i8; else PthreadWorkerInit.cttz_i8 = 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 _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 _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + 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_futex_wake(addr, count) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0 || count < 0) return -22; + if (count == 0) return 0; + // dump('futex_wake addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + + // See if main thread is waiting on this address? If so, wake it up by resetting its wake location to zero. + // Note that this is not a fair procedure, since we always wake main thread first before any workers, so + // this scheme does not adhere to real queue-based waiting. + var mainThreadWaitAddress = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); + var mainThreadWoken = 0; + if (mainThreadWaitAddress == addr) { + var loadedAddr = Atomics.compareExchange(HEAP32, __main_thread_futex_wait_address >> 2, mainThreadWaitAddress, 0); + if (loadedAddr == mainThreadWaitAddress) { + --count; + mainThreadWoken = 1; + if (count <= 0) return 1; + } + } + + // Wake any workers waiting on this address. + var ret = Atomics.wake(HEAP32, addr >> 2, count); + if (ret >= 0) return ret + mainThreadWoken; + throw 'Atomics.wake returned an unexpected value ' + ret; + } + + 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_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 __spawn_thread(threadParams) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _spawn_thread() can only ever be called from main application thread!'; + + var worker = PThread.getNewWorker(); + if (worker.pthread !== undefined) throw 'Internal error!'; + if (!threadParams.pthread_ptr) throw 'Internal error, no pthread ptr!'; + PThread.runningWorkers.push(worker); + + // Allocate memory for thread-local storage and initialize it to zero. + var tlsMemory = _malloc(128 * 4); + for (var i = 0; i < 128; ++i) { + HEAP32[(((tlsMemory)+(i*4))>>2)]=0; + } + + var pthread = PThread.pthreads[threadParams.pthread_ptr] = { // Create a pthread info object to represent this thread. + worker: worker, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + allocatedOwnStack: threadParams.allocatedOwnStack, + thread: threadParams.pthread_ptr, + threadInfoStruct: threadParams.pthread_ptr // Info area for this thread in Emscripten HEAP (shared) + }; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 0 ) >> 2, 0); // threadStatus <- 0, meaning not yet exited. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 4 ) >> 2, 0); // threadExitCode <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 20 ) >> 2, 0); // profilerBlock <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 80 ) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 60 ) >> 2, 0); // Mark initial status to unused. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 52 ) >> 2, pthread.threadInfoStruct); // Main thread ID. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 56 ) >> 2, PROCINFO.pid); // Process ID. + + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 96) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 92) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 8) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 12) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 20) >> 2, threadParams.schedPolicy); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 24) >> 2, threadParams.schedPrio); + + var global_libc = _emscripten_get_global_libc(); + var global_locale = global_libc + 40; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 188) >> 2, global_locale); + + + worker.pthread = pthread; + + // Ask the worker to start executing its pthread entry point function. + worker.postMessage({ + cmd: 'run', + start_routine: threadParams.startRoutine, + arg: threadParams.arg, + threadInfoStruct: threadParams.pthread_ptr, + selfThreadId: threadParams.pthread_ptr, // TODO: Remove this since thread ID is now the same as the thread address. + parentThreadId: threadParams.parent_pthread_ptr, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + }, threadParams.transferList); + } + + function _pthread_getschedparam(thread, policy, schedparam) { + if (!policy && !schedparam) return ERRNO_CODES.EINVAL; + + if (!thread) { + Module['printErr']('pthread_getschedparam called with a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_getschedparam attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var schedPolicy = Atomics.load(HEAPU32, (thread + 120 + 20 ) >> 2); + var schedPrio = Atomics.load(HEAPU32, (thread + 120 + 24 ) >> 2); + + if (policy) HEAP32[((policy)>>2)]=schedPolicy; + if (schedparam) HEAP32[((schedparam)>>2)]=schedPrio; + return 0; + } + + function _pthread_self() { + return __pthread_ptr|0; + }function _pthread_create(pthread_ptr, attr, start_routine, arg) { + if (typeof SharedArrayBuffer === 'undefined') { + Module['printErr']('Current environment does not support SharedArrayBuffer, pthreads are not available!'); + return 11; + } + if (!pthread_ptr) { + Module['printErr']('pthread_create called with a null thread pointer!'); + return 22; + } + + var transferList = []; // List of JS objects that will transfer ownership to the Worker hosting the thread + + + // Synchronously proxy the thread creation to main thread if possible. If we need to transfer ownership of objects, then + // proxy asynchronously via postMessage. + if (ENVIRONMENT_IS_PTHREAD && transferList.length == 0) { + return _emscripten_sync_run_in_main_thread_4(137, pthread_ptr, attr, start_routine, arg); + } + + var stackSize = 0; + var stackBase = 0; + var detached = 0; // Default thread attr is PTHREAD_CREATE_JOINABLE, i.e. start as not detached. + var schedPolicy = 0; /*SCHED_OTHER*/ + var schedPrio = 0; + if (attr) { + stackSize = HEAP32[((attr)>>2)]; + stackBase = HEAP32[(((attr)+(8))>>2)]; + detached = HEAP32[(((attr)+(12))>>2)] != 0/*PTHREAD_CREATE_JOINABLE*/; + var inheritSched = HEAP32[(((attr)+(16))>>2)] == 0/*PTHREAD_INHERIT_SCHED*/; + if (inheritSched) { + var prevSchedPolicy = HEAP32[(((attr)+(20))>>2)]; + var prevSchedPrio = HEAP32[(((attr)+(24))>>2)]; + _pthread_getschedparam(_pthread_self(), attr + 20, attr + 24); + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + HEAP32[(((attr)+(20))>>2)]=prevSchedPolicy; + HEAP32[(((attr)+(24))>>2)]=prevSchedPrio; + } else { + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + } + } + stackSize += 81920 /*DEFAULT_STACK_SIZE*/; + var allocatedOwnStack = stackBase == 0; // If allocatedOwnStack == true, then the pthread impl maintains the stack allocation. + if (allocatedOwnStack) { + stackBase = _malloc(stackSize); // Allocate a stack if the user doesn't want to place the stack in a custom memory area. + } else { + // Musl stores the stack base address assuming stack grows downwards, so adjust it to Emscripten convention that the + // stack grows upwards instead. + stackBase -= stackSize; + assert(stackBase > 0); + } + + // Allocate thread block (pthread_t structure). + var threadInfoStruct = _malloc(244); + for (var i = 0; i < 244 >> 2; ++i) HEAPU32[(threadInfoStruct>>2) + i] = 0; // zero-initialize thread structure. + HEAP32[((pthread_ptr)>>2)]=threadInfoStruct; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((threadInfoStruct)+(24))>>2)]=threadInfoStruct; + + // pthread struct robust_list head should point to itself. + var headPtr = threadInfoStruct + 168; + HEAP32[((headPtr)>>2)]=headPtr; + + var threadParams = { + stackBase: stackBase, + stackSize: stackSize, + allocatedOwnStack: allocatedOwnStack, + schedPolicy: schedPolicy, + schedPrio: schedPrio, + detached: detached, + startRoutine: start_routine, + pthread_ptr: threadInfoStruct, + parent_pthread_ptr: _pthread_self(), + arg: arg, + transferList: transferList + }; + + if (ENVIRONMENT_IS_PTHREAD) { + // The prepopulated pool of web workers that can host pthreads is stored in the main JS thread. Therefore if a + // pthread is attempting to spawn a new thread, the thread creation must be deferred to the main JS thread. + threadParams.cmd = 'spawnThread'; + postMessage(threadParams, transferList); + } else { + // We are the main thread, so we have the pthread warmup pool in this thread and can fire off JS thread creation + // directly ourselves. + __spawn_thread(threadParams); + } + + return 0; + } + + 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_set_current_thread_status_js(newStatus) { + } + Module["_emscripten_set_current_thread_status"] = _emscripten_set_current_thread_status; + + 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 _confstr(name, buf, len) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(68, name, buf, len); + // size_t confstr(int name, char *buf, size_t len); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/confstr.html + var value; + switch (name) { + case 0: + value = ENV['PATH'] || '/'; + break; + case 1: + // Mimicking glibc. + value = 'POSIX_V6_ILP32_OFF32\nPOSIX_V6_ILP32_OFFBIG'; + break; + case 2: + // This JS implementation was tested against this glibc version. + value = 'glibc 2.14'; + break; + case 3: + // We don't support pthreads. + value = ''; + break; + case 1118: + case 1122: + case 1124: + case 1125: + case 1126: + case 1128: + case 1129: + case 1130: + value = ''; + break; + case 1116: + case 1117: + case 1121: + value = '-m32'; + break; + case 1120: + value = '-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'; + break; + default: + ___setErrNo(ERRNO_CODES.EINVAL); + return 0; + } + if (len == 0 || buf == 0) { + return value.length + 1; + } else { + var length = Math.min(len, value.length); + for (var i = 0; i < length; i++) { + HEAP8[(((buf)+(i))>>0)]=value.charCodeAt(i); + } + if (len > length) HEAP8[(((buf)+(i++))>>0)]=0; + return i; + } + } + + 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 _getenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(111, name); + // char *getenv(const char *name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/getenv.html + if (name === 0) return 0; + name = Pointer_stringify(name); + if (!ENV.hasOwnProperty(name)) return 0; + + if (_getenv.ret) _free(_getenv.ret); + _getenv.ret = allocate(intArrayFromString(ENV[name]), 'i8', ALLOC_NORMAL); + return _getenv.ret; + } + + + function _emscripten_conditional_set_current_thread_status_js(expectedStatus, newStatus) { + } + Module["_emscripten_conditional_set_current_thread_status"] = _emscripten_conditional_set_current_thread_status; + + 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 _setenv(envname, envval, overwrite) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(113, envname, envval, overwrite); + // int setenv(const char *envname, const char *envval, int overwrite); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/setenv.html + if (envname === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = Pointer_stringify(envname); + var val = Pointer_stringify(envval); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name) && !overwrite) return 0; + ENV[name] = val; + ___buildEnvironment(ENV); + return 0; + } + + 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_syscall(which, varargs) { + switch (which) { + case 54: return ___syscall54(which, varargs); + case 6: return ___syscall6(which, varargs); + case 140: return ___syscall140(which, varargs); + case 146: return ___syscall146(which, varargs); + default: throw "surprising proxied syscall: " + which; + } + } + + 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 _fpathconf(fildes, name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(46, fildes, name); + // long fpathconf(int fildes, int name); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/encrypt.html + // NOTE: The first parameter is ignored, so pathconf == fpathconf. + // The constants here aren't real values. Just mimicking glibc. + switch (name) { + case 0: + return 32000; + case 1: + case 2: + case 3: + return 255; + case 4: + case 5: + case 16: + case 17: + case 18: + return 4096; + case 6: + case 7: + case 20: + return 1; + case 8: + return 0; + case 9: + case 10: + case 11: + case 12: + case 14: + case 15: + case 19: + return -1; + case 13: + return 64; + } + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + + function _putenv(string) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(115, string); + // int putenv(char *string); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/putenv.html + // WARNING: According to the standard (and the glibc implementation), the + // string is taken by reference so future changes are reflected. + // We copy it instead, possibly breaking some uses. + if (string === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + string = Pointer_stringify(string); + var splitPoint = string.indexOf('=') + if (string === '' || string.indexOf('=') === -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = string.slice(0, splitPoint); + var value = string.slice(splitPoint + 1); + if (!(name in ENV) || ENV[name] !== value) { + ENV[name] = value; + ___buildEnvironment(ENV); + } + return 0; + } + + 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 _utimes(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(13, path, times); + var time; + if (times) { + var offset = 8 + 0; + time = HEAP32[(((times)+(offset))>>2)] * 1000; + offset = 8 + 4; + time += HEAP32[(((times)+(offset))>>2)] / 1000; + } else { + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; + } + } + + 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) }; +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();; +if (!ENVIRONMENT_IS_PTHREAD) PThread.initMainThreadBlock();; +if (!ENVIRONMENT_IS_PTHREAD) ___buildEnvironment(ENV);; +if (!ENVIRONMENT_IS_PTHREAD) { + // Only main thread initializes these, pthreads copy them over at thread worker init time (in pthread-main.js) +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.asmGlobalArg['Atomics'] = Atomics; +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, "_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, "_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_glCompileShader": _emscripten_glCompileShader, "_sysconf": _sysconf, "_utime": _utime, "_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, "_chroot": _chroot, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_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, "__pthread_testcancel_js": __pthread_testcancel_js, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_unsetenv": _unsetenv, "_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, "_emscripten_get_now_is_monotonic": _emscripten_get_now_is_monotonic, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_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_asm_const_v": _emscripten_asm_const_v, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_pthread_self": _pthread_self, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "__register_pthread_ptr": __register_pthread_ptr, "_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_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_gettimeofday": _gettimeofday, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "__spawn_thread": __spawn_thread, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_conditional_set_current_thread_status_js": _emscripten_conditional_set_current_thread_status_js, "_putenv": _putenv, "_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, "_fpathconf": _fpathconf, "_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_glFrustum": _emscripten_glFrustum, "_emscripten_is_main_runtime_thread": _emscripten_is_main_runtime_thread, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___buildEnvironment": ___buildEnvironment, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_utimes": _utimes, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_tzset": _tzset, "_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, "___clock_gettime": ___clock_gettime, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_clearenv": _clearenv, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_getenv": _getenv, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_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, "_emscripten_futex_wake": _emscripten_futex_wake, "_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, "__cleanup_thread": __cleanup_thread, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_set_current_thread_status_js": _emscripten_set_current_thread_status_js, "_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_glShaderSource": _emscripten_glShaderSource, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_syscall": _emscripten_syscall, "_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_futex_wait": _emscripten_futex_wait, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_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, "___pthread_setcancelstate": ___pthread_setcancelstate, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_confstr": _confstr, "_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, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_pthread_create": _pthread_create, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_pthread_getschedparam": _pthread_getschedparam, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_atexit": _atexit, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_setenv": _setenv, "_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; @@ -6873,7 +11022,6 @@ var asm = (function(global, env, buffer) { 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; @@ -6884,6 +11032,7 @@ var asm = (function(global, env, buffer) { 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; @@ -6896,25 +11045,26 @@ var asm = (function(global, env, buffer) { 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_glCompileShader=env._emscripten_glCompileShader; + var _sysconf=env._sysconf; + var _utime=env._utime; 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 _chroot=env._chroot; 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_glLoadMatrixf=env._emscripten_glLoadMatrixf; var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; @@ -6926,9 +11076,11 @@ var asm = (function(global, env, buffer) { var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; var _emscripten_glScissor=env._emscripten_glScissor; + var __pthread_testcancel_js=env.__pthread_testcancel_js; var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _unsetenv=env._unsetenv; var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; @@ -6936,13 +11088,14 @@ var asm = (function(global, env, buffer) { var _glfwSetErrorCallback=env._glfwSetErrorCallback; var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; var _glfwDestroyWindow=env._glfwDestroyWindow; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var ___syscall146=env.___syscall146; 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_glIsBuffer=env._emscripten_glIsBuffer; var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; var _glGetProgramInfoLog=env._glGetProgramInfoLog; var _glfwSetScrollCallback=env._glfwSetScrollCallback; @@ -6967,17 +11120,21 @@ var asm = (function(global, env, buffer) { var _glDepthFunc=env._glDepthFunc; var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_asm_const_v=env._emscripten_asm_const_v; 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 _pthread_self=env._pthread_self; var _emscripten_glBufferData=env._emscripten_glBufferData; var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; var _emscripten_glRotatef=env._emscripten_glRotatef; var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; var _glEnable=env._glEnable; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; var _emscripten_glReadPixels=env._emscripten_glReadPixels; var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; var _glGetString=env._glGetString; @@ -6985,7 +11142,7 @@ var asm = (function(global, env, buffer) { var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; var emscriptenWebGLGet=env.emscriptenWebGLGet; var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var __register_pthread_ptr=env.__register_pthread_ptr; var _emscripten_get_now=env._emscripten_get_now; var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; var _glAttachShader=env._glAttachShader; @@ -6994,41 +11151,49 @@ var asm = (function(global, env, buffer) { 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_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; var _time=env._time; - var ___syscall146=env.___syscall146; + var _gettimeofday=env._gettimeofday; + 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 __spawn_thread=env.__spawn_thread; var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_conditional_set_current_thread_status_js=env._emscripten_conditional_set_current_thread_status_js; + var _putenv=env._putenv; 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 _fpathconf=env._fpathconf; 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_glFrustum=env._emscripten_glFrustum; + var _emscripten_is_main_runtime_thread=env._emscripten_is_main_runtime_thread; 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 ___buildEnvironment=env.___buildEnvironment; var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _utimes=env._utimes; 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 _tzset=env._tzset; var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; @@ -7039,29 +11204,33 @@ var asm = (function(global, env, buffer) { var _emscripten_glHint=env._emscripten_glHint; var _glfwSetCharCallback=env._glfwSetCharCallback; var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _glGetFloatv=env._glGetFloatv; var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var ___clock_gettime=env.___clock_gettime; 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 _clearenv=env._clearenv; var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; var _glCompileShader=env._glCompileShader; var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _getenv=env._getenv; 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_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + 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 _emscripten_futex_wake=env._emscripten_futex_wake; var _glFrontFace=env._glFrontFace; var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; @@ -7071,10 +11240,11 @@ var asm = (function(global, env, buffer) { var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; var _abort=env._abort; var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var __cleanup_thread=env.__cleanup_thread; var _glDeleteBuffers=env._glDeleteBuffers; var _glBufferData=env._glBufferData; var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _emscripten_set_current_thread_status_js=env._emscripten_set_current_thread_status_js; var _glfwSetKeyCallback=env._glfwSetKeyCallback; var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; @@ -7085,8 +11255,9 @@ var asm = (function(global, env, buffer) { var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_syscall=env._emscripten_syscall; var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; @@ -7096,18 +11267,19 @@ var asm = (function(global, env, buffer) { var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + 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_futex_wait=env._emscripten_futex_wait; 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 _emscripten_request_pointerlock=env._emscripten_request_pointerlock; var _glClear=env._glClear; var _glGenTextures=env._glGenTextures; var _emscripten_glDisable=env._emscripten_glDisable; @@ -7117,12 +11289,14 @@ var asm = (function(global, env, buffer) { var _emscripten_glUniform3f=env._emscripten_glUniform3f; var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var ___pthread_setcancelstate=env.___pthread_setcancelstate; 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 _confstr=env._confstr; var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; var _emscripten_glBindTexture=env._emscripten_glBindTexture; @@ -7132,29 +11306,42 @@ var asm = (function(global, env, buffer) { var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; var ___syscall54=env.___syscall54; var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var _glfwWaitEvents=env._glfwWaitEvents; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; 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 _pthread_getschedparam=env._pthread_getschedparam; 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 _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; var _glTexParameteri=env._glTexParameteri; var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _atexit=env._atexit; 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 _setenv=env._setenv; var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + var Atomics_load=global.Atomics.load; + var Atomics_store=global.Atomics.store; + var Atomics_exchange=global.Atomics.exchange; + var Atomics_compareExchange=global.Atomics.compareExchange; + var Atomics_add=global.Atomics.add; + var Atomics_sub=global.Atomics.sub; + var Atomics_and=global.Atomics.and; + var Atomics_or=global.Atomics.or; + var Atomics_xor=global.Atomics.xor; var tempFloat = 0.0; // EMSCRIPTEN_START_FUNCS @@ -7203,7 +11390,7 @@ function getTempRet0() { function _InitPhysics() { var label = 0, sp = 0; sp = STACKTOP; - (_pthread_create((14112|0),(0|0),(2|0),(0|0))|0); + (_pthread_create((14264|0),(0|0),(2|0),(0|0))|0); return; } function _PhysicsLoop($0) { @@ -7211,53 +11398,53 @@ function _PhysicsLoop($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; + HEAP32[3567] = 1; + HEAPF64[1745] = 0.0; _InitTimer(); - $1 = HEAP32[3529]|0; + $1 = HEAP32[3567]|0; $2 = ($1|0)==(0); if (!($2)) { while(1) { $3 = (+_GetCurrentTime()); - HEAPF64[1727] = $3; - $4 = +HEAPF64[1728]; + HEAPF64[1746] = $3; + $4 = +HEAPF64[1747]; $5 = $3 - $4; - HEAPF64[1729] = $5; - $6 = +HEAPF64[1726]; + HEAPF64[1748] = $5; + $6 = +HEAPF64[1745]; $7 = $5 + $6; - HEAPF64[1726] = $7; + HEAPF64[1745] = $7; _MathClamp(); - $$pr = +HEAPF64[1726]; + $$pr = +HEAPF64[1745]; $8 = !($$pr >= 0.016666666666666666); if (!($8)) { while(1) { _PhysicsStep(); - $9 = +HEAPF64[1729]; - $10 = +HEAPF64[1726]; + $9 = +HEAPF64[1748]; + $10 = +HEAPF64[1745]; $11 = $10 - $9; - HEAPF64[1726] = $11; + HEAPF64[1745] = $11; $12 = !($11 >= 0.016666666666666666); if ($12) { break; } } } - $13 = +HEAPF64[1727]; - HEAPF64[1728] = $13; - $14 = HEAP32[3529]|0; + $13 = +HEAPF64[1746]; + HEAPF64[1747] = $13; + $14 = HEAP32[3567]|0; $15 = ($14|0)==(0); if ($15) { break; } } } - $16 = HEAP32[3596]|0; + $16 = HEAP32[3634]|0; $$0912 = (($16) + -1)|0; $17 = ($$0912|0)>(-1); if ($17) { $$0913 = $$0912; while(1) { - $20 = (14388 + ($$0913<<2)|0); + $20 = (14540 + ($$0913<<2)|0); $21 = HEAP32[$20>>2]|0; _DestroyPhysicsManifold($21); $$09 = (($$0913) + -1)|0; @@ -7269,7 +11456,7 @@ function _PhysicsLoop($0) { } } } - $18 = HEAP32[3531]|0; + $18 = HEAP32[3569]|0; $$010 = (($18) + -1)|0; $19 = ($$010|0)>(-1); if ($19) { @@ -7278,7 +11465,7 @@ function _PhysicsLoop($0) { return (0|0); } while(1) { - $23 = (14128 + ($$011<<2)|0); + $23 = (14280 + ($$011<<2)|0); $24 = HEAP32[$23>>2]|0; _DestroyPhysicsBody($24); $$0 = (($$011) + -1)|0; @@ -7313,10 +11500,10 @@ function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { $6 = sp + 8|0; $7 = sp; $8 = (_malloc(500)|0); - $9 = HEAP32[3530]|0; + $9 = HEAP32[3568]|0; $10 = (($9) + 500)|0; - HEAP32[3530] = $10; - $11 = HEAP32[3531]|0; + HEAP32[3568] = $10; + $11 = HEAP32[3569]|0; $12 = ($11|0)==(0); $$0116149 = 0; L1: while(1) { @@ -7327,7 +11514,7 @@ function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { $$0119144 = 0; } while(1) { - $15 = (14128 + ($$0119144<<2)|0); + $15 = (14280 + ($$0119144<<2)|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$16>>2]|0; $18 = ($17|0)==($$0116149|0); @@ -7528,11 +11715,11 @@ function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { HEAP32[$120>>2] = 0; $121 = ((($8)) + 80|0); HEAP32[$121>>2] = 0; - $122 = HEAP32[3531]|0; - $123 = (14128 + ($122<<2)|0); + $122 = HEAP32[3569]|0; + $123 = (14280 + ($122<<2)|0); HEAP32[$123>>2] = $8; $124 = (($122) + 1)|0; - HEAP32[3531] = $124; + HEAP32[3569] = $124; STACKTOP = sp;return ($8|0); } function _CreateRectanglePolygon($0,$1,$2) { @@ -7714,16 +11901,16 @@ function _DestroyPhysicsBody($0) { return; } $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[3531]|0; + $3 = HEAP32[3569]|0; $4 = ($3|0)==(0); L4: do { if ($4) { $$021 = -1; } else { - $5 = HEAP32[3531]|0; + $5 = HEAP32[3569]|0; $$02023 = 0; while(1) { - $6 = (14128 + ($$02023<<2)|0); + $6 = (14280 + ($$02023<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==($2|0); @@ -7742,24 +11929,24 @@ function _DestroyPhysicsBody($0) { } } } while(0); - $12 = (14128 + ($$021<<2)|0); + $12 = (14280 + ($$021<<2)|0); $13 = HEAP32[$12>>2]|0; _free($13); - $14 = HEAP32[3530]|0; + $14 = HEAP32[3568]|0; $15 = (($14) + -500)|0; - HEAP32[3530] = $15; + HEAP32[3568] = $15; HEAP32[$12>>2] = 0; - $16 = HEAP32[3531]|0; + $16 = HEAP32[3569]|0; $17 = ($$021>>>0)<($16>>>0); if ($17) { - $18 = HEAP32[3531]|0; + $18 = HEAP32[3569]|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); + $24 = (14280 + ($$022<<2)|0); + $25 = (14280 + ($20<<2)|0); $26 = HEAP32[$25>>2]|0; HEAP32[$24>>2] = $26; } @@ -7775,7 +11962,7 @@ function _DestroyPhysicsBody($0) { $$lcssa = $16; } $19 = (($$lcssa) + -1)|0; - HEAP32[3531] = $19; + HEAP32[3569] = $19; return; } function _Vector2Subtract_4($0,$1,$2) { @@ -7820,20 +12007,20 @@ function _MathNormalize($0) { function _GetPhysicsBodiesCount() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3531]|0; + $0 = HEAP32[3569]|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; + $1 = HEAP32[3569]|0; $2 = ($1>>>0)>($0>>>0); if (!($2)) { $$0 = 0; return ($$0|0); } - $3 = (14128 + ($0<<2)|0); + $3 = (14280 + ($0<<2)|0); $4 = HEAP32[$3>>2]|0; $$0 = $4; return ($$0|0); @@ -7842,11 +12029,11 @@ 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; + $1 = HEAP32[3569]|0; $2 = ($1>>>0)>($0>>>0); L1: do { if ($2) { - $3 = (14128 + ($0<<2)|0); + $3 = (14280 + ($0<<2)|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)==(0|0); if ($5) { @@ -7996,260 +12183,323 @@ function _Mat2Radians($0,$1) { function _ClosePhysics() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - HEAP32[3529] = 0; - $0 = HEAP32[3528]|0; + HEAP32[3567] = 0; + $0 = HEAP32[3566]|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; + var $$byval_copy5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0.0, $25 = 0; + var $26 = 0, $27 = 0.0, $28 = 0.0, $29 = 0, $3 = 0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0, $38 = 0, $39 = 0.0, $4 = 0, $40 = 0, $41 = 0, $42 = 0, $43 = 0.0; + var $44 = 0, $45 = 0, $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, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0; + var $62 = 0, $7 = 0, $8 = 0, $9 = 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; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy5 = sp + 48|0; + $0 = sp + 40|0; + $1 = sp + 32|0; + $2 = sp + 24|0; + $3 = sp + 16|0; + $4 = sp + 8|0; + $5 = sp; _SetConfigFlags(32); - _InitWindow(800,450,3480); - _SetTargetFPS(60); - $17 = (_MeasureText(3515,30)|0); - $18 = (800 - ($17))|0; - $19 = (($18) + -10)|0; + $6 = HEAP32[2]|0; + $7 = HEAP32[3]|0; + _InitWindow($6,$7,3248); + $8 = HEAP32[2]|0; + $9 = (_MeasureText(3283,30)|0); + $10 = (($8) + -10)|0; + $11 = (($10) - ($9))|0; + HEAP32[7731] = $11; _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; + $12 = HEAP32[2]|0; + $13 = (($12|0) / 2)&-1; + $14 = (+($13|0)); + HEAPF32[$0>>2] = $14; + $15 = ((($0)) + 4|0); + $16 = HEAP32[3]|0; + $17 = (+($16|0)); + HEAPF32[$15>>2] = $17; + $18 = HEAP32[2]|0; + $19 = (+($18|0)); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0; + $20 = (_CreatePhysicsBodyRectangle($$byval_copy5,$19,100.0,10.0)|0); + $21 = ((($20)) + 4|0); + HEAP32[$21>>2] = 0; + $22 = HEAP32[2]|0; + $23 = (($22|0) / 2)&-1; + $24 = (+($23|0)); + HEAPF32[$1>>2] = $24; + $25 = ((($1)) + 4|0); + $26 = HEAP32[3]|0; + $27 = (+($26|0)); + $28 = $27 * 0.80000001192092896; + HEAPF32[$25>>2] = $28; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$1+4>>2]|0; + $29 = (_CreatePhysicsBodyRectangle($$byval_copy5,10.0,80.0,10.0)|0); + $30 = ((($29)) + 4|0); + HEAP32[$30>>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); + $31 = ((($2)) + 4|0); + $32 = HEAP32[3]|0; + $33 = (($32) + -5)|0; + $34 = (+($33|0)); + HEAPF32[$31>>2] = $34; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0; + $35 = (_CreatePhysicsBodyRectangle($$byval_copy5,250.0,250.0,10.0)|0); + $36 = ((($35)) + 4|0); + HEAP32[$36>>2] = 0; + _SetPhysicsBodyRotation($35,0.52359879016876221); + $37 = HEAP32[2]|0; + $38 = (($37) + -25)|0; + $39 = (+($38|0)); + HEAPF32[$3>>2] = $39; + $40 = ((($3)) + 4|0); + $41 = HEAP32[3]|0; + $42 = (($41) + -5)|0; + $43 = (+($42|0)); + HEAPF32[$40>>2] = $43; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$3+4>>2]|0; + $44 = (_CreatePhysicsBodyRectangle($$byval_copy5,250.0,250.0,10.0)|0); + $45 = ((($44)) + 4|0); + HEAP32[$45>>2] = 0; + _SetPhysicsBodyRotation($44,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; - } - } + $46 = ((($4)) + 4|0); + $47 = HEAP32[3]|0; + $48 = (+($47|0)); + $49 = $48 * 0.60000002384185791; + HEAPF32[$46>>2] = $49; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0; + $50 = (_CreatePhysicsBodyRectangle($$byval_copy5,40.0,40.0,10.0)|0); + HEAP32[7732] = $50; + $51 = ((($50)) + 60|0); + HEAPF32[$51>>2] = 0.10000000149011612; + $52 = ((($50)) + 64|0); + HEAPF32[$52>>2] = 0.10000000149011612; + _SetPhysicsBodyRotation($50,0.52359879016876221); + $53 = HEAP32[2]|0; + $54 = (($53) + -35)|0; + $55 = (+($54|0)); + HEAPF32[$5>>2] = $55; + $56 = ((($5)) + 4|0); + $57 = HEAP32[3]|0; + $58 = (+($57|0)); + $59 = $58 * 0.60000002384185791; + HEAPF32[$56>>2] = $59; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0; + $60 = (_CreatePhysicsBodyRectangle($$byval_copy5,40.0,40.0,10.0)|0); + HEAP32[7733] = $60; + $61 = ((($60)) + 60|0); + HEAPF32[$61>>2] = 1.0; + $62 = ((($60)) + 64|0); + HEAPF32[$62>>2] = 1.0; + _SetPhysicsBodyRotation($60,5.7595863342285156); + _emscripten_set_main_loop((1|0),0,1); _ClosePhysics(); _CloseWindow(); STACKTOP = sp;return 0; } +function _UpdateDrawFrame() { + var $$03637 = 0, $$038 = 0, $$byval_copy2 = 0, $$byval_copy3 = 0, $$byval_copy4 = 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.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.0, $24 = 0.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.0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0.0, $57 = 0, $58 = 0, $59 = 0, $6 = 0, $60 = 0.0, $61 = 0.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, $72 = 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, $86 = 0, $87 = 0; + var $88 = 0, $89 = 0, $9 = 0, $exitcond = 0, $exitcond40 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy4 = sp + 76|0; + $$byval_copy3 = sp + 56|0; + $$byval_copy2 = sp + 48|0; + $0 = sp + 72|0; + $1 = sp + 24|0; + $2 = sp + 8|0; + $3 = sp + 68|0; + $4 = sp + 64|0; + $5 = sp + 44|0; + $6 = sp + 40|0; + $7 = sp + 36|0; + $8 = sp + 32|0; + $9 = sp + 16|0; + $10 = sp; + $11 = (_IsKeyPressed(82)|0); + $12 = ($11|0)==(0); + if (!($12)) { + $13 = HEAP32[7732]|0; + $14 = HEAP32[3]|0; + $15 = (+($14|0)); + $16 = $15 * 0.60000002384185791; + $$sroa$033$0$$sroa_idx = ((($13)) + 8|0); + HEAPF32[$$sroa$033$0$$sroa_idx>>2] = 35.0; + $$sroa$234$0$$sroa_idx35 = ((($13)) + 12|0); + HEAPF32[$$sroa$234$0$$sroa_idx35>>2] = $16; + $$sroa$030$0$$sroa_idx = ((($13)) + 16|0); + HEAPF32[$$sroa$030$0$$sroa_idx>>2] = 0.0; + $$sroa$231$0$$sroa_idx32 = ((($13)) + 20|0); + HEAPF32[$$sroa$231$0$$sroa_idx32>>2] = 0.0; + $17 = ((($13)) + 32|0); + HEAPF32[$17>>2] = 0.0; + _SetPhysicsBodyRotation($13,0.52359879016876221); + $18 = HEAP32[7733]|0; + $19 = HEAP32[2]|0; + $20 = (($19) + -35)|0; + $21 = (+($20|0)); + $22 = HEAP32[3]|0; + $23 = (+($22|0)); + $24 = $23 * 0.60000002384185791; + $$sroa$027$0$$sroa_idx = ((($18)) + 8|0); + HEAPF32[$$sroa$027$0$$sroa_idx>>2] = $21; + $$sroa$228$0$$sroa_idx29 = ((($18)) + 12|0); + HEAPF32[$$sroa$228$0$$sroa_idx29>>2] = $24; + $25 = HEAP32[7733]|0; + $$sroa$0$0$$sroa_idx = ((($25)) + 16|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + $$sroa$2$0$$sroa_idx26 = ((($25)) + 20|0); + HEAPF32[$$sroa$2$0$$sroa_idx26>>2] = 0.0; + $26 = ((($25)) + 32|0); + HEAPF32[$26>>2] = 0.0; + $27 = HEAP32[7733]|0; + _SetPhysicsBodyRotation($27,5.7595863342285156); + } + _BeginDrawing(); + HEAP8[$0>>0] = 0; + $28 = ((($0)) + 1|0); + HEAP8[$28>>0] = 0; + $29 = ((($0)) + 2|0); + HEAP8[$29>>0] = 0; + $30 = ((($0)) + 3|0); + HEAP8[$30>>0] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$0>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$0+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$0+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$0+3>>0]|0; + _ClearBackground($$byval_copy4); + $31 = HEAP32[2]|0; + $32 = (($31) + -90)|0; + $33 = HEAP32[3]|0; + $34 = (($33) + -30)|0; + _DrawFPS($32,$34); + $35 = (_GetPhysicsBodiesCount()|0); + $36 = ($35|0)>(0); + if ($36) { + $37 = ((($3)) + 1|0); + $38 = ((($3)) + 2|0); + $39 = ((($3)) + 3|0); + $$038 = 0; + while(1) { + $82 = (_GetPhysicsBody($$038)|0); + $83 = ($82|0)==(0|0); + if (!($83)) { + $84 = (_GetPhysicsShapeVerticesCount($$038)|0); + $85 = ($84|0)>(0); + if ($85) { + $$03637 = 0; + while(1) { + _GetPhysicsShapeVertex($1,$82,$$03637); + $86 = (($$03637) + 1)|0; + $87 = ($86|0)<($84|0); + $88 = $87 ? $86 : 0; + _GetPhysicsShapeVertex($2,$82,$88); + HEAP8[$3>>0] = 0; + HEAP8[$37>>0] = -28; + HEAP8[$38>>0] = 48; + HEAP8[$39>>0] = -1; + ;HEAP32[$$byval_copy2>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy2+4>>2]=HEAP32[$1+4>>2]|0; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+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; + _DrawLineV($$byval_copy2,$$byval_copy3,$$byval_copy4); + $exitcond = ($86|0)==($84|0); + if ($exitcond) { + break; + } else { + $$03637 = $86; + } + } + } + } + $89 = (($$038) + 1)|0; + $exitcond40 = ($89|0)==($35|0); + if ($exitcond40) { + break; + } else { + $$038 = $89; + } + } + } + $40 = HEAP32[3]|0; + $41 = (($40) + -49)|0; + $42 = HEAP32[2]|0; + HEAP8[$4>>0] = 0; + $43 = ((($4)) + 1|0); + HEAP8[$43>>0] = 0; + $44 = ((($4)) + 2|0); + HEAP8[$44>>0] = 0; + $45 = ((($4)) + 3|0); + HEAP8[$45>>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; + _DrawRectangle(0,$41,$42,49,$$byval_copy4); + $46 = HEAP32[2]|0; + $47 = (_MeasureText(3290,30)|0); + $48 = (($46) - ($47))|0; + $49 = (($48|0) / 2)&-1; + HEAP32[$5>>2] = -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(3290,$49,75,30,$$byval_copy4); + $50 = HEAP32[7732]|0; + $51 = ((($50)) + 8|0); + $52 = +HEAPF32[$51>>2]; + $53 = (_MeasureText(3306,20)|0); + $54 = (($53|0) / 2)&-1; + $55 = (+($54|0)); + $56 = $52 - $55; + $57 = (~~(($56))); + $58 = HEAP32[7732]|0; + $59 = ((($58)) + 12|0); + $60 = +HEAPF32[$59>>2]; + $61 = $60 + -7.0; + $62 = (~~(($61))); + HEAP32[$6>>2] = -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(3306,$57,$62,20,$$byval_copy4); + $63 = HEAP32[7733]|0; + $64 = ((($63)) + 8|0); + $65 = +HEAPF32[$64>>2]; + $66 = (_MeasureText(3310,20)|0); + $67 = (($66|0) / 2)&-1; + $68 = (+($67|0)); + $69 = $65 - $68; + $70 = (~~(($69))); + $71 = HEAP32[7733]|0; + $72 = ((($71)) + 12|0); + $73 = +HEAPF32[$72>>2]; + $74 = $73 + -7.0; + $75 = (~~(($74))); + HEAP32[$7>>2] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$7+3>>0]|0; + _DrawText(3310,$70,$75,20,$$byval_copy4); + HEAP32[$8>>2] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$8+3>>0]|0; + _DrawText(3312,10,10,10,$$byval_copy4); + $76 = HEAP32[7731]|0; + $77 = HEAP32[4]|0; + HEAP32[$9>>2] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$9+3>>0]|0; + _DrawText(3283,$76,$77,30,$$byval_copy4); + $78 = HEAP32[7731]|0; + $79 = (($78) + 50)|0; + $80 = HEAP32[4]|0; + $81 = (($80) + -7)|0; + HEAP32[$10>>2] = -1; + ;HEAP8[$$byval_copy4>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy4+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy4+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy4+3>>0]=HEAP8[$10+3>>0]|0; + _DrawText(3339,$79,$81,10,$$byval_copy4); + _EndDrawing(); + 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 = (+_GetCurrentTime()); - HEAPF64[1728] = $1; + HEAPF64[1747] = $1; return; } function _GetCurrentTime() { @@ -8276,7 +12526,7 @@ function _GetCurrentTime() { function _MathClamp() { var $$sink = 0.0, $0 = 0.0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[1726]; + $0 = +HEAPF64[1745]; $1 = $0 < 0.0; if ($1) { $$sink = 0.0; @@ -8288,7 +12538,7 @@ function _MathClamp() { return; } } - HEAPF64[1726] = $$sink; + HEAPF64[1745] = $$sink; return; } function _PhysicsStep() { @@ -8302,16 +12552,16 @@ function _PhysicsStep() { 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; + $0 = HEAP32[7734]|0; $1 = (($0) + 1)|0; - HEAP32[7693] = $1; - $2 = HEAP32[3596]|0; + HEAP32[7734] = $1; + $2 = HEAP32[3634]|0; $$0167 = (($2) + -1)|0; $3 = ($$0167|0)>(-1); if ($3) { $$0168 = $$0167; while(1) { - $6 = (14388 + ($$0168<<2)|0); + $6 = (14540 + ($$0168<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==(0|0); if (!($8)) { @@ -8326,7 +12576,7 @@ function _PhysicsStep() { } } } - $4 = HEAP32[3531]|0; + $4 = HEAP32[3569]|0; $5 = ($4|0)==(0); if ($5) { $17 = $4; @@ -8334,7 +12584,7 @@ function _PhysicsStep() { } else { $$0125165 = 0; while(1) { - $11 = (14128 + ($$0125165<<2)|0); + $11 = (14280 + ($$0125165<<2)|0); $12 = HEAP32[$11>>2]|0; $13 = ((($12)) + 76|0); HEAP32[$13>>2] = 0; @@ -8346,24 +12596,24 @@ function _PhysicsStep() { break; } } - $$pr = HEAP32[3531]|0; + $$pr = HEAP32[3569]|0; $10 = ($$pr|0)==(0); if (!($10)) { $$0126163 = 0; while(1) { - $19 = (14128 + ($$0126163<<2)|0); + $19 = (14280 + ($$0126163<<2)|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)==(0|0); if (!($21)) { $$0130160 = (($$0126163) + 1)|0; - $22 = HEAP32[3531]|0; + $22 = HEAP32[3569]|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); + $26 = (14280 + ($$0130161<<2)|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)==(0|0); do { @@ -8469,7 +12719,7 @@ function _PhysicsStep() { } } while(0); $$0130 = (($$0130161) + 1)|0; - $29 = HEAP32[3531]|0; + $29 = HEAP32[3569]|0; $30 = ($$0130>>>0)<($29>>>0); if ($30) { $$0130161 = $$0130; @@ -8480,7 +12730,7 @@ function _PhysicsStep() { } } $97 = (($$0126163) + 1)|0; - $98 = HEAP32[3531]|0; + $98 = HEAP32[3569]|0; $99 = ($97>>>0)<($98>>>0); if ($99) { $$0126163 = $97; @@ -8495,10 +12745,10 @@ function _PhysicsStep() { if ((label|0) == 8) { $16 = ($17|0)==(0); if (!($16)) { - $18 = HEAP32[3531]|0; + $18 = HEAP32[3569]|0; $$0135158 = 0; while(1) { - $103 = (14128 + ($$0135158<<2)|0); + $103 = (14280 + ($$0135158<<2)|0); $104 = HEAP32[$103>>2]|0; $105 = ($104|0)==(0|0); if (!($105)) { @@ -8514,15 +12764,15 @@ function _PhysicsStep() { } } } - $100 = HEAP32[3596]|0; + $100 = HEAP32[3634]|0; $101 = ($100|0)==(0); if ($101) { $$0134155 = 0;$114 = 0; } else { - $102 = HEAP32[3596]|0; + $102 = HEAP32[3634]|0; $$0136156 = 0; while(1) { - $108 = (14388 + ($$0136156<<2)|0); + $108 = (14540 + ($$0136156<<2)|0); $109 = HEAP32[$108>>2]|0; $110 = ($109|0)==(0|0); if (!($110)) { @@ -8542,12 +12792,12 @@ function _PhysicsStep() { while(1) { if ((label|0) == 32) { label = 0; - $$pr172 = HEAP32[3596]|0; + $$pr172 = HEAP32[3634]|0; $$0134155 = $$0134155$ph;$114 = $$pr172; } $113 = ($114|0)==(0); if (!($113)) { - $115 = (14388 + ($$0134155<<2)|0); + $115 = (14540 + ($$0134155<<2)|0); $$0133152 = 0; while(1) { $120 = HEAP32[$115>>2]|0; @@ -8556,7 +12806,7 @@ function _PhysicsStep() { _IntegratePhysicsImpulses($120); } $122 = (($$0133152) + 1)|0; - $123 = HEAP32[3596]|0; + $123 = HEAP32[3634]|0; $124 = ($122>>>0)<($123>>>0); if ($124) { $$0133152 = $122; @@ -8574,13 +12824,13 @@ function _PhysicsStep() { label = 32; } } - $116 = HEAP32[3531]|0; + $116 = HEAP32[3569]|0; $117 = ($116|0)==(0); if (!($117)) { - $118 = HEAP32[3531]|0; + $118 = HEAP32[3569]|0; $$0131150 = 0; while(1) { - $128 = (14128 + ($$0131150<<2)|0); + $128 = (14280 + ($$0131150<<2)|0); $129 = HEAP32[$128>>2]|0; $130 = ($129|0)==(0|0); if (!($130)) { @@ -8595,13 +12845,13 @@ function _PhysicsStep() { } } } - $125 = HEAP32[3596]|0; + $125 = HEAP32[3634]|0; $126 = ($125|0)==(0); if (!($126)) { - $127 = HEAP32[3596]|0; + $127 = HEAP32[3634]|0; $$0129148 = 0; while(1) { - $136 = (14388 + ($$0129148<<2)|0); + $136 = (14540 + ($$0129148<<2)|0); $137 = HEAP32[$136>>2]|0; $138 = ($137|0)==(0|0); if (!($138)) { @@ -8616,15 +12866,15 @@ function _PhysicsStep() { } } } - $133 = HEAP32[3531]|0; + $133 = HEAP32[3569]|0; $134 = ($133|0)==(0); if ($134) { return; } - $135 = HEAP32[3531]|0; + $135 = HEAP32[3569]|0; $$0127147 = 0; while(1) { - $141 = (14128 + ($$0127147<<2)|0); + $141 = (14280 + ($$0127147<<2)|0); $142 = HEAP32[$141>>2]|0; $143 = ($142|0)==(0|0); if (!($143)) { @@ -8655,16 +12905,16 @@ function _DestroyPhysicsManifold($0) { return; } $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[3596]|0; + $3 = HEAP32[3634]|0; $4 = ($3|0)==(0); L4: do { if ($4) { $$021 = -1; } else { - $5 = HEAP32[3596]|0; + $5 = HEAP32[3634]|0; $$02023 = 0; while(1) { - $6 = (14388 + ($$02023<<2)|0); + $6 = (14540 + ($$02023<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==($2|0); @@ -8683,24 +12933,24 @@ function _DestroyPhysicsManifold($0) { } } } while(0); - $12 = (14388 + ($$021<<2)|0); + $12 = (14540 + ($$021<<2)|0); $13 = HEAP32[$12>>2]|0; _free($13); - $14 = HEAP32[3530]|0; + $14 = HEAP32[3568]|0; $15 = (($14) + -56)|0; - HEAP32[3530] = $15; + HEAP32[3568] = $15; HEAP32[$12>>2] = 0; - $16 = HEAP32[3596]|0; + $16 = HEAP32[3634]|0; $17 = ($$021>>>0)<($16>>>0); if ($17) { - $18 = HEAP32[3596]|0; + $18 = HEAP32[3634]|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); + $24 = (14540 + ($$022<<2)|0); + $25 = (14540 + ($20<<2)|0); $26 = HEAP32[$25>>2]|0; HEAP32[$24>>2] = $26; } @@ -8716,7 +12966,7 @@ function _DestroyPhysicsManifold($0) { $$lcssa = $16; } $19 = (($$lcssa) + -1)|0; - HEAP32[3596] = $19; + HEAP32[3634] = $19; return; } function _CreatePhysicsManifold($0,$1) { @@ -8726,10 +12976,10 @@ function _CreatePhysicsManifold($0,$1) { 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; + $3 = HEAP32[3568]|0; $4 = (($3) + 56)|0; - HEAP32[3530] = $4; - $5 = HEAP32[3596]|0; + HEAP32[3568] = $4; + $5 = HEAP32[3634]|0; $6 = ($5|0)==(0); $$04457 = 0; L1: while(1) { @@ -8740,7 +12990,7 @@ function _CreatePhysicsManifold($0,$1) { $$04755 = 0; } while(1) { - $9 = (14388 + ($$04755<<2)|0); + $9 = (14540 + ($$04755<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$10>>2]|0; $12 = ($11|0)==($$04457|0); @@ -8783,11 +13033,11 @@ function _CreatePhysicsManifold($0,$1) { 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); + $19 = HEAP32[3634]|0; + $20 = (14540 + ($19<<2)|0); HEAP32[$20>>2] = $2; $21 = (($19) + 1)|0; - HEAP32[3596] = $21; + HEAP32[3634] = $21; return ($2|0); } function _SolvePhysicsManifold($0) { @@ -8887,7 +13137,7 @@ function _IntegratePhysicsForces($0) { $8 = +HEAPF32[$7>>2]; $9 = $2 * $8; $10 = $9; - $11 = +HEAPF64[1729]; + $11 = +HEAPF64[1748]; $12 = $11 * 0.5; $13 = $10 * $12; $14 = ((($0)) + 16|0); @@ -8911,7 +13161,7 @@ function _IntegratePhysicsForces($0) { $30 = HEAP32[$29>>2]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = +HEAPF32[7694]; + $32 = +HEAPF32[7735]; $33 = $32; $34 = $12 * $33; $35 = +HEAPF32[$14>>2]; @@ -8919,7 +13169,7 @@ function _IntegratePhysicsForces($0) { $37 = $36 + $34; $38 = $37; HEAPF32[$14>>2] = $38; - $39 = +HEAPF32[2]; + $39 = +HEAPF32[5]; $40 = $39; $41 = $12 * $40; $42 = +HEAPF32[$24>>2]; @@ -9004,13 +13254,13 @@ function _InitializePhysicsManifolds($0) { $39 = ((($7)) + 20|0); $40 = ((($$byval_copy9)) + 4|0); $41 = ((($4)) + 4|0); - $42 = +HEAPF32[7694]; + $42 = +HEAPF32[7735]; $43 = $42; - $44 = +HEAPF64[1729]; + $44 = +HEAPF64[1748]; $45 = $43 * $44; $46 = $45; $47 = ((($5)) + 4|0); - $48 = +HEAPF32[2]; + $48 = +HEAPF32[5]; $49 = $48; $50 = $49 * $44; $51 = $50; @@ -9507,7 +13757,7 @@ function _IntegratePhysicsVelocity($0) { $4 = ((($0)) + 16|0); $5 = +HEAPF32[$4>>2]; $6 = $5; - $7 = +HEAPF64[1729]; + $7 = +HEAPF64[1748]; $8 = $6 * $7; $9 = ((($0)) + 8|0); $10 = +HEAPF32[$9>>2]; @@ -11928,7 +16178,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[7696] = $2; + HEAP32[7737] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11941,7 +16191,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 13840; + $95 = 13992; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11954,48 +16204,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 13880; + $106 = 14032; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[3470]; - $111 = +HEAPF32[3460]; + $110 = +HEAPF32[3508]; + $111 = +HEAPF32[3498]; $112 = $110 - $111; - HEAPF32[3472] = $112; - $113 = +HEAPF32[(13884)>>2]; - $114 = +HEAPF32[(13844)>>2]; + HEAPF32[3510] = $112; + $113 = +HEAPF32[(14036)>>2]; + $114 = +HEAPF32[(13996)>>2]; $115 = $113 - $114; - HEAPF32[(13892)>>2] = $115; - HEAP32[7695] = 4; + HEAPF32[(14044)>>2] = $115; + HEAP32[7736] = 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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14024>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14024+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14048>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14048+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[7701] = $116; - $117 = 13872; + HEAPF32[7742] = $116; + $117 = 14024; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 13840; + $123 = 13992; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 13896; + $127 = 14048; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 13880; + $133 = 14032; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -12008,7 +16258,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 13872; + $144 = 14024; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -12021,27 +16271,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 13896; + $155 = 14048; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[3474]; - $160 = +HEAPF32[3468]; + $159 = +HEAPF32[3512]; + $160 = +HEAPF32[3506]; $161 = $159 - $160; - HEAPF32[3472] = $161; - $162 = +HEAPF32[(13900)>>2]; - $163 = +HEAPF32[(13876)>>2]; + HEAPF32[3510] = $161; + $162 = +HEAPF32[(14052)>>2]; + $163 = +HEAPF32[(14028)>>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; + HEAPF32[(14044)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13992>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13992+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14024>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14024+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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14032+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14048>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14048+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -12053,31 +16303,31 @@ function _ProcessGestureEvent($0) { 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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14024>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14024+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14048>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14048+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[7701]; + $170 = +HEAPF32[7742]; $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; + HEAP32[7736] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14024>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14024+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14048>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14048+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[7702] = $174; + HEAPF32[7743] = $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; + HEAPF32[7742] = 0.0; + HEAPF32[7743] = 0.0; + HEAPF32[3510] = 0.0; + HEAPF32[(14044)>>2] = 0.0; + HEAP32[7737] = 0; + HEAP32[7736] = 0; STACKTOP = sp;return; break; } @@ -12087,22 +16337,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[7697]|0; + $6 = HEAP32[7738]|0; $7 = (($6) + 1)|0; - HEAP32[7697] = $7; - $8 = HEAP32[7695]|0; + HEAP32[7738] = $7; + $8 = HEAP32[7736]|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[$moveDownPosition$byval_copy11>>2]=HEAP32[13992>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13992+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; + HEAP32[7736] = 2; + HEAP32[7738] = 0; } else { label = 6; } @@ -12110,8 +16360,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[7697] = 1; - HEAP32[7695] = 1; + HEAP32[7738] = 1; + HEAP32[7736] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -12120,19 +16370,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 13840; + $21 = 13992; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 13848; + $25 = 14000; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 13856; + $29 = 14008; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -12140,14 +16390,14 @@ function _ProcessGestureEvent($0) { 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; + HEAP32[6] = $34; + HEAPF32[3504] = 0.0; + HEAPF32[(14020)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[7695]|0; + $35 = HEAP32[7736]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12157,31 +16407,31 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 13856; + $44 = 14008; $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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13992>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13992+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14008>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14008+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[7698] = $49; - HEAP32[7699] = 0; + HEAPF32[7739] = $49; + HEAP32[7740] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { - $51 = HEAP32[3]|0; + $51 = HEAP32[6]|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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13992>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13992+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14008>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14008+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[7700] = $56; + HEAPF32[7741] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12212,22 +16462,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[7698] = 0.0; - HEAPF32[7700] = 0.0; + HEAPF32[7739] = 0.0; + HEAPF32[7741] = 0.0; $$sink10 = 0; } - HEAP32[7695] = $$sink10; - HEAPF32[3462] = 0.0; - HEAPF32[(13852)>>2] = 0.0; - HEAP32[7696] = 0; + HEAP32[7736] = $$sink10; + HEAPF32[3500] = 0.0; + HEAPF32[(14004)>>2] = 0.0; + HEAP32[7737] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[7699]|0; + $65 = HEAP32[7740]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[7699] = 1; + HEAP32[7740] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12236,31 +16486,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 13872; + $74 = 14024; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[7695]|0; + $78 = HEAP32[7736]|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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[13992>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[13992+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14024>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14024+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[7695] = 8; + HEAP32[7736] = 8; } } - $82 = +HEAPF32[3468]; - $83 = +HEAPF32[3462]; + $82 = +HEAPF32[3506]; + $83 = +HEAPF32[3500]; $84 = $82 - $83; - HEAPF32[3466] = $84; - $85 = +HEAPF32[(13876)>>2]; - $86 = +HEAPF32[(13852)>>2]; + HEAPF32[3504] = $84; + $85 = +HEAPF32[(14028)>>2]; + $86 = +HEAPF32[(14004)>>2]; $87 = $85 - $86; - HEAPF32[(13868)>>2] = $87; + HEAPF32[(14020)>>2] = $87; STACKTOP = sp;return; break; } @@ -12272,16 +16522,16 @@ function _ProcessGestureEvent($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[7695]|0; + $0 = HEAP32[7736]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[7696]|0; + $2 = HEAP32[7737]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[7695] = 4; + HEAP32[7736] = 4; } - $4 = HEAP32[7695]|0; + $4 = HEAP32[7736]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12294,14 +16544,14 @@ function _UpdateGestures() { return; } } - HEAP32[7695] = 0; + HEAP32[7736] = 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; + $1 = 14056; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12318,13 +16568,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[7705]|0; + $0 = HEAP32[7746]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[7704]|0; + $0 = HEAP32[7745]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -12335,29 +16585,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,3582,$vararg_buffer); - HEAP32[7707] = $2; + _TraceLog(0,3350,$vararg_buffer); + HEAP32[7748] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); - _InitTimer_8(); + _InitTimer_10(); (_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_keypress_callback((3379|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((3379|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((3379|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((3379|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((3379|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((3379|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; + $3 = HEAP32[7746]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[3476] = $5; - $6 = HEAP32[7704]|0; + HEAPF32[3514] = $5; + $6 = HEAP32[7745]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(13908)>>2] = $8; - $9 = HEAP32[7708]|0; + HEAPF32[(14060)>>2] = $8; + $9 = HEAP32[7749]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -12376,11 +16626,11 @@ function _TraceLog($0,$1,$varargs) { $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; + ;HEAP8[14096>>0]=HEAP8[7908>>0]|0;HEAP8[14096+1>>0]=HEAP8[7908+1>>0]|0;HEAP8[14096+2>>0]=HEAP8[7908+2>>0]|0;HEAP8[14096+3>>0]=HEAP8[7908+3>>0]|0;HEAP8[14096+4>>0]=HEAP8[7908+4>>0]|0;HEAP8[14096+5>>0]=HEAP8[7908+5>>0]|0;HEAP8[14096+6>>0]=HEAP8[7908+6>>0]|0; break; } case 1: { - $3 = 13944; + $3 = 14096; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -12389,11 +16639,11 @@ function _TraceLog($0,$1,$varargs) { 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)); + dest=14096; src=7915; 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; + $7 = 14096; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -12404,16 +16654,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(13944,$1)|0); - $strlen = (_strlen(13944)|0); - $endptr = (13944 + ($strlen)|0); + (_strcat(14096,$1)|0); + $strlen = (_strlen(14096)|0); + $endptr = (14096 + ($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); + (_vprintf(14096,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -12445,22 +16695,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[7705] = $0; - HEAP32[7704] = $1; + HEAP32[7746] = $0; + HEAP32[7745] = $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)); + dest=31072; 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); + _TraceLog(1,4050,$vararg_buffer); } - $6 = HEAP32[7705]|0; - HEAP32[7743] = $6; - $7 = HEAP32[7704]|0; - HEAP32[7744] = $7; + $6 = HEAP32[7746]|0; + HEAP32[7784] = $6; + $7 = HEAP32[7745]|0; + HEAP32[7785] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[33632]|0; + $8 = HEAP8[35948]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -12468,18 +16718,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[33632]|0; + $11 = HEAP8[35948]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[33632]|0; + $14 = HEAP8[35948]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,4308,$vararg_buffer1); + _TraceLog(0,4076,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -12496,18 +16746,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[7745]|0; + $21 = HEAP32[7786]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[7705]|0; - $48 = HEAP32[7704]|0; - $49 = HEAP32[7707]|0; + $47 = HEAP32[7746]|0; + $48 = HEAP32[7745]|0; + $49 = HEAP32[7748]|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; + HEAP32[7744] = $50; + $51 = HEAP32[7746]|0; + HEAP32[7787] = $51; + $52 = HEAP32[7745]|0; + HEAP32[7788] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12516,9 +16766,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[7705]|0; + $27 = HEAP32[7746]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[7704]|0; + $29 = HEAP32[7745]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12540,87 +16790,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[7743] = $31; - HEAP32[7744] = $34; + HEAP32[7784] = $31; + HEAP32[7785] = $34; } } while(0); - $38 = HEAP32[7743]|0; - $39 = HEAP32[7744]|0; + $38 = HEAP32[7784]|0; + $39 = HEAP32[7785]|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; + _TraceLog(2,4101,$vararg_buffer3); + $40 = HEAP32[7784]|0; + $41 = HEAP32[7785]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[7743]|0; - $43 = HEAP32[7744]|0; - $44 = HEAP32[7707]|0; + $42 = HEAP32[7784]|0; + $43 = HEAP32[7785]|0; + $44 = HEAP32[7748]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[7703] = $46; + HEAP32[7744] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,4371,$vararg_buffer6); + _TraceLog(1,4139,$vararg_buffer6); } else { - _TraceLog(0,4404,$vararg_buffer8); - $55 = HEAP32[7746]|0; - $56 = HEAP32[7747]|0; + _TraceLog(0,4172,$vararg_buffer8); + $55 = HEAP32[7787]|0; + $56 = HEAP32[7788]|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; + _TraceLog(0,4212,$vararg_buffer10); + $57 = HEAP32[7746]|0; + $58 = HEAP32[7745]|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; + _TraceLog(0,4233,$vararg_buffer14); + $59 = HEAP32[7789]|0; + $60 = HEAP32[7790]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,4486,$vararg_buffer18); + _TraceLog(0,4254,$vararg_buffer18); } - $61 = HEAP32[7703]|0; + $61 = HEAP32[7744]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[7703]|0; + $62 = HEAP32[7744]|0; (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); - $63 = HEAP32[7703]|0; + $63 = HEAP32[7744]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[7703]|0; + $64 = HEAP32[7744]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[7703]|0; + $65 = HEAP32[7744]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[7703]|0; + $66 = HEAP32[7744]|0; (_glfwSetCharCallback(($66|0),(3|0))|0); - $67 = HEAP32[7703]|0; + $67 = HEAP32[7744]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[7703]|0; + $68 = HEAP32[7744]|0; (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); - $69 = HEAP32[7703]|0; + $69 = HEAP32[7744]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[33632]|0; + $70 = HEAP8[35948]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[7705]|0; - $74 = HEAP32[7704]|0; + $73 = HEAP32[7746]|0; + $74 = HEAP32[7745]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[7746]|0; - $76 = HEAP32[7748]|0; + $75 = HEAP32[7787]|0; + $76 = HEAP32[7789]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[7747]|0; - $80 = HEAP32[7749]|0; + $79 = HEAP32[7788]|0; + $80 = HEAP32[7790]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12638,19 +16888,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,4511,$vararg_buffer22); - $73 = HEAP32[7705]|0; - $74 = HEAP32[7704]|0; + _TraceLog(0,4279,$vararg_buffer22); + $73 = HEAP32[7746]|0; + $74 = HEAP32[7745]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[7746]|0; - $76 = HEAP32[7748]|0; + $75 = HEAP32[7787]|0; + $76 = HEAP32[7789]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[7747]|0; - $80 = HEAP32[7749]|0; + $79 = HEAP32[7788]|0; + $80 = HEAP32[7790]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12678,12 +16928,12 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(30876)>>2] = 224; + HEAP32[(31040)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; while(1) { - $3 = (16 + ($$095104<<2)|0); + $3 = (28 + ($$095104<<2)|0); $4 = HEAP32[$3>>2]|0; $$097102 = 31; while(1) { @@ -12719,27 +16969,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[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[31016>>2]=HEAP32[$1>>2]|0;HEAP32[31016+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[31016+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[31016+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[31016+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; + $5 = HEAP32[(31040)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(30880)>>2] = $7; + HEAP32[(31044)>>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[(31036)>>2] = $23; + $24 = HEAP32[7754]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3806,$vararg_buffer); + _TraceLog(0,3574,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(30856)>>2]|0; - $10 = HEAP32[(30876)>>2]|0; - $11 = HEAP32[(30880)>>2]|0; + $9 = HEAP32[(31020)>>2]|0; + $10 = HEAP32[(31040)>>2]|0; + $11 = HEAP32[(31044)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12751,7 +17001,7 @@ function _LoadDefaultFont() { $30 = (($29) + 1)|0; $31 = (((($27) + ($$0101<<5)|0)) + 8|0); HEAP32[$31>>2] = $30; - $32 = (2064 + ($$0101<<2)|0); + $32 = (2076 + ($$0101<<2)|0); $33 = HEAP32[$32>>2]|0; $34 = (((($27) + ($$0101<<5)|0)) + 12|0); HEAP32[$34>>2] = $33; @@ -12788,19 +17038,19 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(30872)>>2] = $23; - $24 = HEAP32[7713]|0; + HEAP32[(31036)>>2] = $23; + $24 = HEAP32[7754]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3806,$vararg_buffer); + _TraceLog(0,3574,$vararg_buffer); STACKTOP = sp;return; } -function _InitTimer_8() { +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[1742] = $1; + HEAPF64[1761] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12830,7 +17080,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr8>>2] = $10; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,3739,$vararg_buffer4); + _TraceLog(0,3507,$vararg_buffer4); STACKTOP = sp;return 0; } else { HEAP32[$vararg_buffer>>2] = $6; @@ -12840,7 +17090,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr2>>2] = $10; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,3670,$vararg_buffer); + _TraceLog(0,3438,$vararg_buffer); STACKTOP = sp;return 0; } return (0)|0; @@ -12856,7 +17106,7 @@ function _EmscriptenKeyboardCallback($0,$1,$2) { return 0; } $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,3663)|0); + $5 = (_strcmp($4,3431)|0); $6 = ($5|0)==(0); if (!($6)) { return 0; @@ -12959,7 +17209,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 13920; + $31 = 14072; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12972,7 +17222,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (13928); + $42 = (14080); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13028,7 +17278,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (30836 + ($10<<2)|0); + $11 = (31000 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13042,19 +17292,19 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[1739] = $$; + HEAPF64[1758] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; $6 = $1 ? 0.0 : $5; HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,3619,$vararg_buffer); + _TraceLog(0,3387,$vararg_buffer); STACKTOP = sp;return; } function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[7708] = 0; + HEAP32[7749] = 0; return; } function _GetTime() { @@ -13153,7 +17403,7 @@ function _ImageFormat($0,$1) { $6 = ($1|0)<(8); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,4182,$vararg_buffer); + _TraceLog(2,3950,$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; @@ -13630,52 +17880,52 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[7721]|0; + $6 = HEAP32[7762]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); $or$cond100 = $switch & $7; if ($or$cond100) { - _TraceLog(2,3851,$vararg_buffer); + _TraceLog(2,3619,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[7722]|0; + $9 = HEAP32[7763]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,3895,$vararg_buffer1); + _TraceLog(2,3663,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[7723]|0; + $12 = HEAP32[7764]|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); + _TraceLog(2,3708,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[7724]|0; + $15 = HEAP32[7765]|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); + _TraceLog(2,3753,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[7725]|0; + $18 = HEAP32[7766]|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); + _TraceLog(2,3798,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13713,7 +17963,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[7721]|0; + $22 = HEAP32[7762]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13721,7 +17971,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[7721]|0; + $24 = HEAP32[7762]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13729,7 +17979,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[7721]|0; + $26 = HEAP32[7762]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13737,7 +17987,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[7721]|0; + $28 = HEAP32[7762]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13745,7 +17995,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[7722]|0; + $30 = HEAP32[7763]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13753,7 +18003,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[7723]|0; + $32 = HEAP32[7764]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13761,7 +18011,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[7723]|0; + $34 = HEAP32[7764]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13769,7 +18019,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[7724]|0; + $36 = HEAP32[7765]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13777,7 +18027,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[7724]|0; + $38 = HEAP32[7765]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13785,7 +18035,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[7725]|0; + $40 = HEAP32[7766]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13793,7 +18043,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[7725]|0; + $42 = HEAP32[7766]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13801,11 +18051,11 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } default: { - _TraceLog(2,4075,$vararg_buffer9); + _TraceLog(2,3843,$vararg_buffer9); } } } while(0); - $44 = HEAP32[7726]|0; + $44 = HEAP32[7767]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13820,7 +18070,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,4153,$vararg_buffer15); + _TraceLog(2,3921,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13829,7 +18079,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,4104,$vararg_buffer11); + _TraceLog(0,3872,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -14103,7 +18353,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,4236,$vararg_buffer); + _TraceLog(2,4004,$vararg_buffer); $$1 = $$0106; } } @@ -14130,7 +18380,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,8102,$vararg_buffer); + _TraceLog(2,7870,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -14151,20 +18401,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[7705]|0; + $3 = HEAP32[7746]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[7704]|0; + $5 = HEAP32[7745]|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; + HEAP32[7787] = $3; + HEAP32[7788] = $5; + HEAP32[7789] = 0; + HEAP32[7790] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14174,13 +18424,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,8036,$vararg_buffer8); + _TraceLog(0,7804,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[7705]|0; + $35 = HEAP32[7746]|0; $36 = (+($35|0)); - $37 = HEAP32[7704]|0; + $37 = HEAP32[7745]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14188,26 +18438,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[7746] = $45; - HEAP32[7747] = $37; + HEAP32[7787] = $45; + HEAP32[7788] = $37; $46 = (($45) - ($35))|0; - HEAP32[7748] = $46; + HEAP32[7789] = $46; $$sink1 = 0; } else { - HEAP32[7746] = $35; + HEAP32[7787] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[7747] = $42; - HEAP32[7748] = 0; + HEAP32[7788] = $42; + HEAP32[7789] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[7749] = $$sink1; + HEAP32[7790] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[7704]|0; + $7 = HEAP32[7745]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14215,13 +18465,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,7893,$vararg_buffer); + _TraceLog(2,7661,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[7705]|0; + $9 = HEAP32[7746]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[7704]|0; + $13 = HEAP32[7745]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14229,37 +18479,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[7746] = $23; - HEAP32[7747] = $1; + HEAP32[7787] = $23; + HEAP32[7788] = $1; $24 = (($0) - ($23))|0; - HEAP32[7748] = $24; + HEAP32[7789] = $24; $$sink = 0; } else { - HEAP32[7746] = $0; - $17 = HEAP32[7704]|0; + HEAP32[7787] = $0; + $17 = HEAP32[7745]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[7747] = $20; - HEAP32[7748] = 0; + HEAP32[7788] = $20; + HEAP32[7789] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[7749] = $$sink; - $25 = HEAP32[7746]|0; + HEAP32[7790] = $$sink; + $25 = HEAP32[7787]|0; $26 = (+($25|0)); - $27 = HEAP32[7705]|0; + $27 = HEAP32[7746]|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; + dest=31072; 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[7787] = $0; + HEAP32[7788] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,7971,$vararg_buffer4); + _TraceLog(2,7739,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -14277,10 +18527,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[7705] = $1; - HEAP32[7704] = $2; HEAP32[7746] = $1; - HEAP32[7747] = $2; + HEAP32[7745] = $2; + HEAP32[7787] = $1; + HEAP32[7788] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -14298,7 +18548,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { $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; + $5 = HEAP32[744]|0; $6 = ($5|0)==($1|0); $7 = ($3|0)==(1); $or$cond = $7 & $6; @@ -14307,12 +18557,12 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (33639 + ($1)|0); + $9 = (35955 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; } - HEAP32[740] = $1; + HEAP32[743] = $1; return; } function _MouseButtonCallback($0,$1,$2,$3) { @@ -14328,7 +18578,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (33633 + ($1)|0); + $7 = (35949 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -14407,7 +18657,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 13920; + $15 = 14072; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -14432,7 +18682,7 @@ function _CharCallback($0,$1) { $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[740] = $1; + HEAP32[743] = $1; return; } function _ScrollCallback($0,$1,$2) { @@ -14442,7 +18692,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[8119] = $3; + HEAP32[8160] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -14452,7 +18702,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[8118] = $$sink; + HEAP32[8159] = $$sink; return; } function _rlglInit($0,$1) { @@ -14492,16 +18742,16 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,4534,$vararg_buffer); + _TraceLog(0,4302,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,4552,$vararg_buffer1); + _TraceLog(0,4320,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,4570,$vararg_buffer4); + _TraceLog(0,4338,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,4588,$vararg_buffer7); + _TraceLog(0,4356,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; @@ -14509,7 +18759,7 @@ function _rlglInit($0,$1) { _memcpy(($14|0),($11|0),($13|0))|0; $$062 = 0;$$sink63 = $14; while(1) { - $15 = (_strtok($$sink63,4606)|0); + $15 = (_strtok($$sink63,4374)|0); $16 = (($vararg_buffer7) + ($$062<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); @@ -14523,41 +18773,41 @@ function _rlglInit($0,$1) { _free($14); $19 = (($$062) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,4608,$vararg_buffer10); + _TraceLog(0,4376,$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); + $25 = (_strcmp($24,4411)|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); + HEAP32[7825] = 1; + $27 = (_eglGetProcAddress((4438|0))|0); + HEAP32[7826] = $27; + $28 = (_eglGetProcAddress((4459|0))|0); + HEAP32[7827] = $28; + $29 = (_eglGetProcAddress((4480|0))|0); + HEAP32[7828] = $29; + } + $30 = (_strcmp($24,4504)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[7726] = 1; + HEAP32[7767] = 1; } - $32 = (_strcmp($24,4756)|0); + $32 = (_strcmp($24,4524)|0); $33 = ($32|0)==(0); if ($33) { label = 12; } else { $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,4788)|0); + $35 = (_strcmp($34,4556)|0); $36 = ($35|0)==(0); if ($36) { label = 12; } else { - $37 = (_strcmp($34,4821)|0); + $37 = (_strcmp($34,4589)|0); $38 = ($37|0)==(0); if ($38) { label = 12; @@ -14566,15 +18816,15 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[7721] = 1; + HEAP32[7762] = 1; } - $39 = (_strcmp($24,4861)|0); + $39 = (_strcmp($24,4629)|0); $40 = ($39|0)==(0); if ($40) { label = 15; } else { $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,4897)|0); + $42 = (_strcmp($41,4665)|0); $43 = ($42|0)==(0); if ($43) { label = 15; @@ -14582,35 +18832,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[7722] = 1; + HEAP32[7763] = 1; } $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,4930)|0); + $45 = (_strcmp($44,4698)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[7723] = 1; + HEAP32[7764] = 1; } - $47 = (_strcmp($44,4955)|0); + $47 = (_strcmp($44,4723)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[7724] = 1; + HEAP32[7765] = 1; } - $49 = (_strcmp($44,4988)|0); + $49 = (_strcmp($44,4756)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[7725] = 1; + HEAP32[7766] = 1; } - $51 = (_strcmp($44,5024)|0); + $51 = (_strcmp($44,4792)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[7788] = 1; - _glGetFloatv(34047,(31156|0)); + HEAP32[7829] = 1; + _glGetFloatv(34047,(31320|0)); } $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,5058)|0); + $54 = (_strcmp($53,4826)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[7790] = 1; + HEAP32[7831] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14621,77 +18871,77 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[7784]|0; + $21 = HEAP32[7825]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,5161,$vararg_buffer15); + _TraceLog(2,4929,$vararg_buffer15); } else { - _TraceLog(0,5086,$vararg_buffer13); + _TraceLog(0,4854,$vararg_buffer13); } - $57 = HEAP32[7726]|0; + $57 = HEAP32[7767]|0; $58 = ($57|0)==(0); if ($58) { - _TraceLog(2,5297,$vararg_buffer19); + _TraceLog(2,5065,$vararg_buffer19); } else { - _TraceLog(0,5222,$vararg_buffer17); + _TraceLog(0,4990,$vararg_buffer17); } - $59 = HEAP32[7721]|0; + $59 = HEAP32[7762]|0; $60 = ($59|0)==(0); if (!($60)) { - _TraceLog(0,5389,$vararg_buffer21); + _TraceLog(0,5157,$vararg_buffer21); } - $61 = HEAP32[7722]|0; + $61 = HEAP32[7763]|0; $62 = ($61|0)==(0); if (!($62)) { - _TraceLog(0,5435,$vararg_buffer23); + _TraceLog(0,5203,$vararg_buffer23); } - $63 = HEAP32[7723]|0; + $63 = HEAP32[7764]|0; $64 = ($63|0)==(0); if (!($64)) { - _TraceLog(0,5482,$vararg_buffer25); + _TraceLog(0,5250,$vararg_buffer25); } - $65 = HEAP32[7724]|0; + $65 = HEAP32[7765]|0; $66 = ($65|0)==(0); if (!($66)) { - _TraceLog(0,5533,$vararg_buffer27); + _TraceLog(0,5301,$vararg_buffer27); } - $67 = HEAP32[7725]|0; + $67 = HEAP32[7766]|0; $68 = ($67|0)==(0); if (!($68)) { - _TraceLog(0,5580,$vararg_buffer29); + _TraceLog(0,5348,$vararg_buffer29); } - $69 = HEAP32[7788]|0; + $69 = HEAP32[7829]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[7789]; + $71 = +HEAPF32[7830]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,5627,$vararg_buffer31); + _TraceLog(0,5395,$vararg_buffer31); } - $73 = HEAP32[7790]|0; + $73 = HEAP32[7831]|0; $74 = ($73|0)==(0); if (!($74)) { - _TraceLog(0,5693,$vararg_buffer34); + _TraceLog(0,5461,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[7791] = $75; + HEAP32[7832] = $75; $76 = ($75|0)==(0); if ($76) { - _TraceLog(2,5797,$vararg_buffer39); + _TraceLog(2,5565,$vararg_buffer39); } else { HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,5746,$vararg_buffer36); + _TraceLog(0,5514,$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)); + dest=31332; 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=31388; 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; + HEAP32[7861] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[7820]|0; + $79 = HEAP32[7861]|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; @@ -14704,7 +18954,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[7821] = $78; + HEAP32[7862] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14719,48 +18969,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[7822] = 1; - $85 = HEAP32[7791]|0; + HEAP32[7863] = 1; + $85 = HEAP32[7832]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[7823] = 4; + HEAP32[7864] = 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)); + dest=31460; src=$4; stop=dest+64|0; 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)); + dest=(31524); src=$4; stop=dest+64|0; 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)); + dest=(31588); src=$4; stop=dest+64|0; 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)); + dest=(31652); src=$4; stop=dest+64|0; 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)); + dest=(31716); src=$4; stop=dest+64|0; 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)); + dest=(31780); src=$4; stop=dest+64|0; 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)); + dest=(31844); src=$4; stop=dest+64|0; 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)); + dest=(31908); src=$4; stop=dest+64|0; 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)); + dest=(31972); src=$4; stop=dest+64|0; 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)); + dest=(32036); src=$4; stop=dest+64|0; 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)); + dest=(32100); src=$4; stop=dest+64|0; 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)); + dest=(32164); src=$4; stop=dest+64|0; 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)); + dest=(32228); src=$4; stop=dest+64|0; 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)); + dest=(32292); src=$4; stop=dest+64|0; 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)); + dest=(32356); src=$4; stop=dest+64|0; 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)); + dest=(32420); src=$4; stop=dest+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)); + dest=31168; 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; + dest=31232; 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[7791] = 31232; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14771,21 +19021,21 @@ function _rlglInit($0,$1) { _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); + HEAP32[8121] = $0; + HEAP32[8122] = $1; + _TraceLog(0,5604,$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; + $0 = HEAP32[7789]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[7749]|0; + $2 = HEAP32[7790]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[7746]|0; + $4 = HEAP32[7787]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[7747]|0; + $6 = HEAP32[7788]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14796,12 +19046,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 31004; + $modelview$sink = 31168; label = 3; break; } case 5888: { - $modelview$sink = 31068; + $modelview$sink = 31232; label = 3; break; } @@ -14809,9 +19059,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[7750] = $modelview$sink; + HEAP32[7791] = $modelview$sink; } - HEAP32[7783] = $0; + HEAP32[7824] = $0; return; } function _rlLoadIdentity() { @@ -14819,7 +19069,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[7750]|0; + $1 = HEAP32[7791]|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; @@ -14840,7 +19090,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[7750]|0; + $8 = HEAP32[7791]|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); @@ -14899,17 +19149,17 @@ function _LoadDefaultShader($0) { $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; + _memcpy(($2|0),(6180|0),489)|0; + _memcpy(($3|0),(6669|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); + _TraceLog(2,7158,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,7342,$vararg_buffer); + _TraceLog(0,7110,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -14937,15 +19187,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(32340)>>2] = $0; + HEAP32[(32504)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(32348)>>2] = $1; - HEAP32[(32344)>>2] = 0; - HEAP32[(32352)>>2] = 0; + HEAP32[(32512)>>2] = $1; + HEAP32[(32508)>>2] = 0; + HEAP32[(32516)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(32348)>>2]|0; + $2 = HEAP32[(32512)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14956,19 +19206,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[8082] = 0; - HEAP32[(32336)>>2] = 0; - HEAP32[(32332)>>2] = 0; + HEAP32[8123] = 0; + HEAP32[(32500)>>2] = 0; + HEAP32[(32496)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(32388)>>2] = $5; + HEAP32[(32552)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(32396)>>2] = $6; - HEAP32[(32392)>>2] = 0; - HEAP32[(32400)>>2] = 0; + HEAP32[(32560)>>2] = $6; + HEAP32[(32556)>>2] = 0; + HEAP32[(32564)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(32396)>>2]|0; + $7 = HEAP32[(32560)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14979,24 +19229,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[8094] = 0; - HEAP32[(32384)>>2] = 0; - HEAP32[(32380)>>2] = 0; + HEAP32[8135] = 0; + HEAP32[(32548)>>2] = 0; + HEAP32[(32544)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(32436)>>2] = $10; + HEAP32[(32600)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(32440)>>2] = $11; + HEAP32[(32604)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(32444)>>2] = $12; + HEAP32[(32608)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(32448)>>2] = $13; - $14 = HEAP32[(32436)>>2]|0; + HEAP32[(32612)>>2] = $13; + $14 = HEAP32[(32600)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(32440)>>2]|0; + $15 = HEAP32[(32604)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(32444)>>2]|0; + $17 = HEAP32[(32608)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15007,7 +19257,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(32448)>>2]|0; + $16 = HEAP32[(32612)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15044,140 +19294,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[8106] = 0; - HEAP32[(32428)>>2] = 0; - HEAP32[(32432)>>2] = 0; - _TraceLog(0,5883,$vararg_buffer); - $20 = HEAP32[7784]|0; + HEAP32[8147] = 0; + HEAP32[(32592)>>2] = 0; + HEAP32[(32596)>>2] = 0; + _TraceLog(0,5651,$vararg_buffer); + $20 = HEAP32[7825]|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; + $43 = HEAP32[7826]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(32520)); + $44 = HEAP32[7827]|0; + $45 = HEAP32[(32520)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((32360)|0)); - $46 = HEAP32[(32360)>>2]|0; + _glGenBuffers(2,((32524)|0)); + $46 = HEAP32[(32524)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(32340)>>2]|0; + $47 = HEAP32[(32504)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(31228)>>2]|0; + $48 = HEAP32[(31392)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(31228)>>2]|0; + $49 = HEAP32[(31392)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((32364)|0)); - $50 = HEAP32[(32364)>>2]|0; + _glGenBuffers(2,((32528)|0)); + $50 = HEAP32[(32528)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(32348)>>2]|0; + $51 = HEAP32[(32512)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(31248)>>2]|0; + $52 = HEAP32[(31412)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(31248)>>2]|0; + $53 = HEAP32[(31412)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[7784]|0; + $54 = HEAP32[7825]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(32360)>>2]|0; - $58 = HEAP32[(32364)>>2]|0; + $57 = HEAP32[(32524)>>2]|0; + $58 = HEAP32[(32528)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,6021,$vararg_buffer3); + _TraceLog(0,5789,$vararg_buffer3); } else { - $56 = HEAP32[(32356)>>2]|0; + $56 = HEAP32[(32520)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,5956,$vararg_buffer1); + _TraceLog(0,5724,$vararg_buffer1); } - $59 = HEAP32[7784]|0; + $59 = HEAP32[7825]|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; + $61 = HEAP32[7826]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(32568)); + $62 = HEAP32[7827]|0; + $63 = HEAP32[(32568)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((32408)|0)); - $64 = HEAP32[(32408)>>2]|0; + _glGenBuffers(1,((32572)|0)); + $64 = HEAP32[(32572)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(32388)>>2]|0; + $65 = HEAP32[(32552)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(31228)>>2]|0; + $66 = HEAP32[(31392)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(31228)>>2]|0; + $67 = HEAP32[(31392)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((32412)|0)); - $68 = HEAP32[(32412)>>2]|0; + _glGenBuffers(1,((32576)|0)); + $68 = HEAP32[(32576)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(32396)>>2]|0; + $69 = HEAP32[(32560)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(31248)>>2]|0; + $70 = HEAP32[(31412)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(31248)>>2]|0; + $71 = HEAP32[(31412)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[7784]|0; + $72 = HEAP32[7825]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(32408)>>2]|0; - $76 = HEAP32[(32412)>>2]|0; + $75 = HEAP32[(32572)>>2]|0; + $76 = HEAP32[(32576)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,6167,$vararg_buffer10); + _TraceLog(0,5935,$vararg_buffer10); } else { - $74 = HEAP32[(32404)>>2]|0; + $74 = HEAP32[(32568)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,6098,$vararg_buffer7); + _TraceLog(0,5866,$vararg_buffer7); } - $77 = HEAP32[7784]|0; + $77 = HEAP32[7825]|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; + $79 = HEAP32[7826]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(32616)); + $80 = HEAP32[7827]|0; + $81 = HEAP32[(32616)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((32456)|0)); - $82 = HEAP32[(32456)>>2]|0; + _glGenBuffers(1,((32620)|0)); + $82 = HEAP32[(32620)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(32436)>>2]|0; + $83 = HEAP32[(32600)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(31228)>>2]|0; + $84 = HEAP32[(31392)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(31228)>>2]|0; + $85 = HEAP32[(31392)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((32460)|0)); - $86 = HEAP32[(32460)>>2]|0; + _glGenBuffers(1,((32624)|0)); + $86 = HEAP32[(32624)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(32440)>>2]|0; + $87 = HEAP32[(32604)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(31232)>>2]|0; + $88 = HEAP32[(31396)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(31232)>>2]|0; + $89 = HEAP32[(31396)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((32464)|0)); - $90 = HEAP32[(32464)>>2]|0; + _glGenBuffers(1,((32628)|0)); + $90 = HEAP32[(32628)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(32444)>>2]|0; + $91 = HEAP32[(32608)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(31248)>>2]|0; + $92 = HEAP32[(31412)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(31248)>>2]|0; + $93 = HEAP32[(31412)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((32468)|0)); - $94 = HEAP32[(32468)>>2]|0; + _glGenBuffers(1,((32632)|0)); + $94 = HEAP32[(32632)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(32448)>>2]|0; + $95 = HEAP32[(32612)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[7784]|0; + $96 = HEAP32[7825]|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; + $99 = HEAP32[(32620)>>2]|0; + $100 = HEAP32[(32624)>>2]|0; + $101 = HEAP32[(32628)>>2]|0; + $102 = HEAP32[(32632)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15185,18 +19435,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,6313,$vararg_buffer17); + _TraceLog(0,6081,$vararg_buffer17); } else { - $98 = HEAP32[(32452)>>2]|0; + $98 = HEAP32[(32616)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,6248,$vararg_buffer14); + _TraceLog(0,6016,$vararg_buffer14); } - $103 = HEAP32[7784]|0; + $103 = HEAP32[7825]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[7786]|0; + $105 = HEAP32[7827]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -15233,10 +19483,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,7646,$vararg_buffer4); + _TraceLog(0,7414,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,7594,$vararg_buffer); + _TraceLog(2,7362,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -15246,7 +19496,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,7643,$vararg_buffer1); + _TraceLog(0,7411,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -15255,10 +19505,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,7747,$vararg_buffer13); + _TraceLog(0,7515,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,7696,$vararg_buffer7); + _TraceLog(2,7464,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -15268,25 +19518,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,7643,$vararg_buffer10); + _TraceLog(0,7411,$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)); + _glBindAttribLocation(($20|0),0,(7206|0)); + _glBindAttribLocation(($20|0),1,(7221|0)); + _glBindAttribLocation(($20|0),2,(7252|0)); + _glBindAttribLocation(($20|0),3,(7279|0)); + _glBindAttribLocation(($20|0),4,(7265|0)); + _glBindAttribLocation(($20|0),5,(7236|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); + _TraceLog(2,7567,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -15296,7 +19546,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,7643,$vararg_buffer19); + _TraceLog(0,7411,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -15305,7 +19555,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,7845,$vararg_buffer22); + _TraceLog(0,7613,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -15320,55 +19570,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(7438|0))|0); + $2 = (_glGetAttribLocation(($1|0),(7206|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(7453|0))|0); + $5 = (_glGetAttribLocation(($4|0),(7221|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(7468|0))|0); + $8 = (_glGetAttribLocation(($7|0),(7236|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(7484|0))|0); + $11 = (_glGetAttribLocation(($10|0),(7252|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(7497|0))|0); + $14 = (_glGetAttribLocation(($13|0),(7265|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(7511|0))|0); + $17 = (_glGetAttribLocation(($16|0),(7279|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(7523|0))|0); + $20 = (_glGetUniformLocation(($19|0),(7291|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(7533|0))|0); + $23 = (_glGetUniformLocation(($22|0),(7301|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(7544|0))|0); + $26 = (_glGetUniformLocation(($25|0),(7312|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(7555|0))|0); + $29 = (_glGetUniformLocation(($28|0),(7323|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(7567|0))|0); + $32 = (_glGetUniformLocation(($31|0),(7335|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(7576|0))|0); + $35 = (_glGetUniformLocation(($34|0),(7344|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(7585|0))|0); + $38 = (_glGetUniformLocation(($37|0),(7353|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -15377,9 +19627,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 = (33633 + ($0)|0); + $1 = (35949 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (33636 + ($0)|0); + $3 = (35952 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15391,9 +19641,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 = (33633 + ($0)|0); + $1 = (35949 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (33636 + ($0)|0); + $3 = (35952 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -15414,10 +19664,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[7703]|0; + $0 = HEAP32[7744]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,8157,$vararg_buffer); + _TraceLog(0,7925,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -15425,9 +19675,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[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; + ;HEAP32[$$byval_copy>>2]=HEAP32[31016>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[31016+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[31016+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[31016+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[31016+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(30880)>>2]|0; + $0 = HEAP32[(31044)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -15438,11 +19688,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(31164|0)); - $0 = HEAP32[7791]|0; + _glDeleteTextures(1,(31328|0)); + $0 = HEAP32[7832]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,8184,$vararg_buffer); - $1 = HEAP32[7821]|0; + _TraceLog(0,7952,$vararg_buffer); + $1 = HEAP32[7862]|0; _free($1); STACKTOP = sp;return; } @@ -15450,17 +19700,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[7792]|0; + $0 = HEAP32[7833]|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; + $0 = HEAP32[7825]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[7786]|0; + $2 = HEAP32[7827]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -15469,39 +19719,39 @@ function _UnloadDefaultBuffers() { _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; + _glDeleteBuffers(1,((32524)|0)); + _glDeleteBuffers(1,((32528)|0)); + _glDeleteBuffers(1,((32572)|0)); + _glDeleteBuffers(1,((32576)|0)); + _glDeleteBuffers(1,((32620)|0)); + _glDeleteBuffers(1,((32624)|0)); + _glDeleteBuffers(1,((32628)|0)); + _glDeleteBuffers(1,((32632)|0)); + $3 = HEAP32[7825]|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; + $5 = HEAP32[7828]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(32520)); + $6 = HEAP32[7828]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(32568)); + $7 = HEAP32[7828]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(32616)); + } + $8 = HEAP32[(32504)>>2]|0; _free($8); - $9 = HEAP32[(32348)>>2]|0; + $9 = HEAP32[(32512)>>2]|0; _free($9); - $10 = HEAP32[(32388)>>2]|0; + $10 = HEAP32[(32552)>>2]|0; _free($10); - $11 = HEAP32[(32396)>>2]|0; + $11 = HEAP32[(32560)>>2]|0; _free($11); - $12 = HEAP32[(32436)>>2]|0; + $12 = HEAP32[(32600)>>2]|0; _free($12); - $13 = HEAP32[(32440)>>2]|0; + $13 = HEAP32[(32604)>>2]|0; _free($13); - $14 = HEAP32[(32444)>>2]|0; + $14 = HEAP32[(32608)>>2]|0; _free($14); - $15 = HEAP32[(32448)>>2]|0; + $15 = HEAP32[(32612)>>2]|0; _free($15); return; } @@ -15519,7 +19769,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,8249,$vararg_buffer); + _TraceLog(0,8017,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -15535,41 +19785,22 @@ function _rlDeleteTextures($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]; + HEAPF64[1778] = $0; + $1 = +HEAPF64[1761]; $2 = $0 - $1; - HEAPF64[1760] = $2; - HEAPF64[1742] = $0; + HEAPF64[1779] = $2; + HEAPF64[1761] = $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)); + dest=$downscaleView$byval_copy; src=31072; stop=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); + _rlMultMatrixf(32644); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15578,53 +19809,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[8120] = $1; + HEAP32[8161] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(32484)>>2] = $3; + HEAP32[(32648)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(32488)>>2] = $5; + HEAP32[(32652)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(32492)>>2] = $7; + HEAP32[(32656)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(32496)>>2] = $9; + HEAP32[(32660)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(32500)>>2] = $11; + HEAP32[(32664)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(32504)>>2] = $13; + HEAP32[(32668)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(32508)>>2] = $15; + HEAP32[(32672)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(32512)>>2] = $17; + HEAP32[(32676)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(32516)>>2] = $19; + HEAP32[(32680)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(32520)>>2] = $21; + HEAP32[(32684)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(32524)>>2] = $23; + HEAP32[(32688)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(32528)>>2] = $25; + HEAP32[(32692)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(32532)>>2] = $27; + HEAP32[(32696)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(32536)>>2] = $29; + HEAP32[(32700)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(32540)>>2] = $31; - return (32480|0); + HEAP32[(32704)>>2] = $31; + return (32644|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15699,7 +19930,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[7750]|0; + $49 = HEAP32[7791]|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); @@ -15713,15 +19944,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[1759] = $0; - $1 = +HEAPF64[1742]; + HEAPF64[1778] = $0; + $1 = +HEAPF64[1761]; $2 = $0 - $1; - HEAPF64[1761] = $2; - HEAPF64[1742] = $0; - $3 = +HEAPF64[1760]; + HEAPF64[1780] = $2; + HEAPF64[1761] = $0; + $3 = +HEAPF64[1779]; $4 = $2 + $3; - HEAPF64[1762] = $4; - $5 = +HEAPF64[1739]; + HEAPF64[1781] = $4; + $5 = +HEAPF64[1758]; $6 = $4 < $5; if (!($6)) { return; @@ -15731,13 +19962,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[1759] = $10; - $11 = +HEAPF64[1742]; + HEAPF64[1778] = $10; + $11 = +HEAPF64[1761]; $12 = $10 - $11; - HEAPF64[1742] = $10; - $13 = +HEAPF64[1762]; + HEAPF64[1761] = $10; + $13 = +HEAPF64[1781]; $14 = $12 + $13; - HEAPF64[1762] = $14; + HEAPF64[1781] = $14; return; } function _rlglDraw() { @@ -15750,7 +19981,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[7703]|0; + $0 = HEAP32[7744]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15764,22 +19995,22 @@ function _PollInputEvents() { $1 = sp + 1432|0; $2 = sp; _UpdateGestures(); - HEAP32[740] = -1; - HEAP32[742] = -1; - HEAP32[8136] = 0; - $3 = HEAP32[7703]|0; + HEAP32[743] = -1; + HEAP32[745] = -1; + HEAP32[8177] = 0; + $3 = HEAP32[7744]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[3476] = $5; + HEAPF32[3514] = $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; + HEAPF32[(14060)>>2] = $7; + _memcpy((36467|0),(35955|0),512)|0; + ;HEAP8[35952>>0]=HEAP8[35949>>0]|0;HEAP8[35952+1>>0]=HEAP8[35949+1>>0]|0;HEAP8[35952+2>>0]=HEAP8[35949+2>>0]|0; + $8 = HEAP32[8160]|0; + HEAP32[7747] = $8; + HEAP32[8160] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15789,8 +20020,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (34663 + ($$05160<<5)|0); - $scevgep67 = (34791 + ($$05160<<5)|0); + $scevgep = (36979 + ($$05160<<5)|0); + $scevgep67 = (37107 + ($$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); @@ -15804,10 +20035,10 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((34791 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((37107 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; - HEAP32[742] = $$04857; + HEAP32[745] = $$04857; } else { HEAP8[$24>>0] = 0; } @@ -15831,7 +20062,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((32548 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((32712 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15847,7 +20078,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[8136] = $$lcssa; + HEAP32[8177] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15888,87 +20119,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[8082]|0; + $0 = HEAP32[8123]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[7784]|0; + $2 = HEAP32[7825]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[7786]|0; - $5 = HEAP32[(32356)>>2]|0; + $4 = HEAP32[7827]|0; + $5 = HEAP32[(32520)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(32360)>>2]|0; + $6 = HEAP32[(32524)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[8082]|0; + $7 = HEAP32[8123]|0; $8 = ($7*12)|0; - $9 = HEAP32[(32340)>>2]|0; + $9 = HEAP32[(32504)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(32364)>>2]|0; + $10 = HEAP32[(32528)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(32336)>>2]|0; + $11 = HEAP32[(32500)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(32348)>>2]|0; + $13 = HEAP32[(32512)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[8094]|0; + $14 = HEAP32[8135]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[7784]|0; + $16 = HEAP32[7825]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[7786]|0; - $19 = HEAP32[(32404)>>2]|0; + $18 = HEAP32[7827]|0; + $19 = HEAP32[(32568)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(32408)>>2]|0; + $20 = HEAP32[(32572)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[8094]|0; + $21 = HEAP32[8135]|0; $22 = ($21*12)|0; - $23 = HEAP32[(32388)>>2]|0; + $23 = HEAP32[(32552)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(32412)>>2]|0; + $24 = HEAP32[(32576)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(32384)>>2]|0; + $25 = HEAP32[(32548)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(32396)>>2]|0; + $27 = HEAP32[(32560)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[8106]|0; + $28 = HEAP32[8147]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[7784]|0; + $30 = HEAP32[7825]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[7786]|0; - $33 = HEAP32[(32452)>>2]|0; + $32 = HEAP32[7827]|0; + $33 = HEAP32[(32616)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(32456)>>2]|0; + $34 = HEAP32[(32620)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[8106]|0; + $35 = HEAP32[8147]|0; $36 = ($35*12)|0; - $37 = HEAP32[(32436)>>2]|0; + $37 = HEAP32[(32600)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(32460)>>2]|0; + $38 = HEAP32[(32624)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[8106]|0; + $39 = HEAP32[8147]|0; $40 = $39 << 3; - $41 = HEAP32[(32440)>>2]|0; + $41 = HEAP32[(32604)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(32464)>>2]|0; + $42 = HEAP32[(32628)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[8106]|0; + $43 = HEAP32[8147]|0; $44 = $43 << 2; - $45 = HEAP32[(32444)>>2]|0; + $45 = HEAP32[(32608)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[7784]|0; + $46 = HEAP32[7825]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[7786]|0; + $48 = HEAP32[7827]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15986,9 +20217,9 @@ function _DrawDefaultBuffers() { $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; + dest=$0; src=31168; stop=dest+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=31232; stop=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[8210]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15998,134 +20229,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[8082]|0; + $8 = HEAP32[8123]|0; $9 = ($8|0)>(0); - $10 = HEAP32[8094]|0; + $10 = HEAP32[8135]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[8106]|0; + $12 = HEAP32[8147]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[7806]|0; + $14 = HEAP32[7847]|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)); + dest=$modelview$byval_copy; src=31232; stop=dest+64|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=31168; stop=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; + $15 = HEAP32[(31416)>>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; + $17 = HEAP32[(31420)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(31268)>>2]|0; + $18 = HEAP32[(31432)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[8082]|0; + $19 = HEAP32[8123]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[7791]|0; + $21 = HEAP32[7832]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[7784]|0; + $22 = HEAP32[7825]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(32360)>>2]|0; + $26 = HEAP32[(32524)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(31228)>>2]|0; + $27 = HEAP32[(31392)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(31228)>>2]|0; + $28 = HEAP32[(31392)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(32364)>>2]|0; + $29 = HEAP32[(32528)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(31248)>>2]|0; + $30 = HEAP32[(31412)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(31248)>>2]|0; + $31 = HEAP32[(31412)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[7786]|0; - $25 = HEAP32[(32356)>>2]|0; + $24 = HEAP32[7827]|0; + $25 = HEAP32[(32520)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[8082]|0; + $32 = HEAP32[8123]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[7784]|0; + $33 = HEAP32[7825]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[8094]|0; + $35 = HEAP32[8135]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[7791]|0; + $37 = HEAP32[7832]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[7784]|0; + $38 = HEAP32[7825]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(32408)>>2]|0; + $42 = HEAP32[(32572)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(31228)>>2]|0; + $43 = HEAP32[(31392)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(31228)>>2]|0; + $44 = HEAP32[(31392)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(32412)>>2]|0; + $45 = HEAP32[(32576)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(31248)>>2]|0; + $46 = HEAP32[(31412)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(31248)>>2]|0; + $47 = HEAP32[(31412)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[7786]|0; - $41 = HEAP32[(32404)>>2]|0; + $40 = HEAP32[7827]|0; + $41 = HEAP32[(32568)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[8094]|0; + $48 = HEAP32[8135]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[7784]|0; + $49 = HEAP32[7825]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[8106]|0; + $51 = HEAP32[8147]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[7784]|0; + $53 = HEAP32[7825]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(32456)>>2]|0; + $57 = HEAP32[(32620)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(31228)>>2]|0; + $58 = HEAP32[(31392)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(31228)>>2]|0; + $59 = HEAP32[(31392)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(32460)>>2]|0; + $60 = HEAP32[(32624)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(31232)>>2]|0; + $61 = HEAP32[(31396)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(31232)>>2]|0; + $62 = HEAP32[(31396)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(32464)>>2]|0; + $63 = HEAP32[(32628)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(31248)>>2]|0; + $64 = HEAP32[(31412)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(31248)>>2]|0; + $65 = HEAP32[(31412)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(32468)>>2]|0; + $66 = HEAP32[(32632)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[7786]|0; - $56 = HEAP32[(32452)>>2]|0; + $55 = HEAP32[7827]|0; + $56 = HEAP32[(32616)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[7822]|0; + $67 = HEAP32[7863]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[7821]|0; + $71 = HEAP32[7862]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16136,14 +20367,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[7821]|0; + $80 = HEAP32[7862]|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; + $87 = HEAP32[7863]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16152,7 +20383,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[7784]|0; + $69 = HEAP32[7825]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16160,10 +20391,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[7784]|0; + $89 = HEAP32[7825]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[7786]|0; + $91 = HEAP32[7827]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16175,22 +20406,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[7822] = 1; - $5 = HEAP32[7791]|0; - $6 = HEAP32[7821]|0; + HEAP32[7863] = 1; + $5 = HEAP32[7832]|0; + $6 = HEAP32[7862]|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)); + HEAP32[8123] = 0; + HEAP32[(32500)>>2] = 0; + HEAP32[8135] = 0; + HEAP32[(32548)>>2] = 0; + HEAP32[8147] = 0; + HEAP32[(32592)>>2] = 0; + HEAP32[(32596)>>2] = 0; + HEAPF32[746] = -1.0; + dest=31168; 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=31232; 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) { @@ -16205,17 +20436,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[8080]|0; + $5 = HEAP32[8121]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[8081]|0; + $9 = HEAP32[8122]|0; _rlViewport($7,0,$8,$9); - $10 = (32908 + ($0<<6)|0); + $10 = (33072 + ($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); + $11 = (32944 + ($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); @@ -16227,14 +20458,14 @@ 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)); + dest=31232; 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)); + dest=31168; 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() { @@ -16242,43 +20473,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[8259]|0; + $0 = HEAP32[8300]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,8299,$vararg_buffer); + _TraceLog(1,8067,$vararg_buffer); } - $2 = HEAP32[8259]|0; - $3 = (31296 + ($2<<6)|0); - $4 = HEAP32[7750]|0; + $2 = HEAP32[8300]|0; + $3 = (31460 + ($2<<6)|0); + $4 = HEAP32[7791]|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; + $5 = HEAP32[8300]|0; $6 = (($5) + 1)|0; - HEAP32[8259] = $6; - $7 = HEAP32[7783]|0; + HEAP32[8300] = $6; + $7 = HEAP32[7824]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[8260] = 1; + HEAP32[8301] = 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; + $0 = HEAP32[8300]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[8259]|0; + $2 = HEAP32[8300]|0; $3 = (($2) + -1)|0; - $4 = (31296 + ($3<<6)|0); - $5 = HEAP32[7750]|0; + $4 = (31460 + ($3<<6)|0); + $5 = HEAP32[7791]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[8259] = $6; + HEAP32[8300] = $6; return; } function _GetFPS() { @@ -16292,7 +20523,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[1762]; + $0 = +HEAPF64[1781]; $1 = $0; return (+$1); } @@ -16300,28 +20531,28 @@ 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; + HEAP8[35948] = $0; $1 = $0 & 1; $2 = ($1<<24>>24)==(0); if (!($2)) { - HEAP32[7708] = 1; + HEAP32[7749] = 1; } - $3 = HEAP8[33632]|0; + $3 = HEAP8[35948]|0; $4 = $3 & 2; $5 = ($4<<24>>24)==(0); if ($5) { return; } - HEAP32[7745] = 1; + HEAP32[7786] = 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); + $1 = (35955 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (34151 + ($0)|0); + $3 = (36467 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16342,7 +20573,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[7750]|0; + $5 = HEAP32[7791]|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); @@ -16375,7 +20606,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[7750]|0; + $11 = HEAP32[7791]|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); @@ -16386,7 +20617,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[7823] = $0; + HEAP32[7864] = $0; return; } function _rlEnd() { @@ -16402,21 +20633,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[8260]|0; + $0 = HEAP32[8301]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[8261]|0; + $2 = HEAP32[8302]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[7820]|0; + $6 = HEAP32[7861]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[7750]|0; + $8 = HEAP32[7791]|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; + $5 = HEAP32[8302]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -16424,12 +20655,12 @@ function _rlEnd() { break; } } - HEAP32[8260] = 0; + HEAP32[8301] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[7820]|0; + $11 = HEAP32[7861]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -16438,7 +20669,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[8261]|0; + $19 = HEAP32[8302]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -16448,20 +20679,20 @@ function _rlEnd() { } } } else { - HEAP32[8260] = 0; + HEAP32[8301] = 0; } - HEAP32[8261] = 0; + HEAP32[8302] = 0; } - $21 = HEAP32[7823]|0; + $21 = HEAP32[7864]|0; switch ($21|0) { case 1: { - $22 = HEAP32[8082]|0; - $23 = HEAP32[(32336)>>2]|0; + $22 = HEAP32[8123]|0; + $23 = HEAP32[(32500)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } $25 = (($22) - ($23))|0; @@ -16469,22 +20700,22 @@ function _rlEnd() { if ($26) { $$04347 = 0; } else { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(32348)>>2]|0; - $28 = HEAP32[(32336)>>2]|0; + $27 = HEAP32[(32512)>>2]|0; + $28 = HEAP32[(32500)>>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; + $34 = HEAP32[(32512)>>2]|0; + $35 = HEAP32[(32500)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -16492,8 +20723,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(32348)>>2]|0; - $43 = HEAP32[(32336)>>2]|0; + $42 = HEAP32[(32512)>>2]|0; + $43 = HEAP32[(32500)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -16501,8 +20732,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(32348)>>2]|0; - $51 = HEAP32[(32336)>>2]|0; + $50 = HEAP32[(32512)>>2]|0; + $51 = HEAP32[(32500)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -16510,9 +20741,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(32336)>>2]|0; + $58 = HEAP32[(32500)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(32336)>>2] = $59; + HEAP32[(32500)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -16521,20 +20752,20 @@ function _rlEnd() { $$04347 = $60; } } - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; break; } case 4: { - $61 = HEAP32[8094]|0; - $62 = HEAP32[(32384)>>2]|0; + $61 = HEAP32[8135]|0; + $62 = HEAP32[(32548)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } $64 = (($61) - ($62))|0; @@ -16542,22 +20773,22 @@ function _rlEnd() { if ($65) { $$04248 = 0; } else { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(32396)>>2]|0; - $67 = HEAP32[(32384)>>2]|0; + $66 = HEAP32[(32560)>>2]|0; + $67 = HEAP32[(32548)>>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; + $73 = HEAP32[(32560)>>2]|0; + $74 = HEAP32[(32548)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16565,8 +20796,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(32396)>>2]|0; - $82 = HEAP32[(32384)>>2]|0; + $81 = HEAP32[(32560)>>2]|0; + $82 = HEAP32[(32548)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16574,8 +20805,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(32396)>>2]|0; - $90 = HEAP32[(32384)>>2]|0; + $89 = HEAP32[(32560)>>2]|0; + $90 = HEAP32[(32548)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16583,9 +20814,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(32384)>>2]|0; + $97 = HEAP32[(32548)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(32384)>>2] = $98; + HEAP32[(32548)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16594,15 +20825,15 @@ function _rlEnd() { $$04248 = $99; } } - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; break; } case 7: { - $100 = HEAP32[8106]|0; - $101 = HEAP32[(32432)>>2]|0; + $100 = HEAP32[8147]|0; + $101 = HEAP32[(32596)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16610,16 +20841,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(32444)>>2]|0; - $106 = HEAP32[(32432)>>2]|0; + $105 = HEAP32[(32608)>>2]|0; + $106 = HEAP32[(32596)>>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; + $112 = HEAP32[(32608)>>2]|0; + $113 = HEAP32[(32596)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16627,8 +20858,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(32444)>>2]|0; - $121 = HEAP32[(32432)>>2]|0; + $120 = HEAP32[(32608)>>2]|0; + $121 = HEAP32[(32596)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16636,8 +20867,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(32444)>>2]|0; - $129 = HEAP32[(32432)>>2]|0; + $128 = HEAP32[(32608)>>2]|0; + $129 = HEAP32[(32596)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16645,9 +20876,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(32432)>>2]|0; + $136 = HEAP32[(32596)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(32432)>>2] = $137; + HEAP32[(32596)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16658,17 +20889,17 @@ function _rlEnd() { } } } - $139 = HEAP32[8106]|0; - $140 = HEAP32[(32428)>>2]|0; + $139 = HEAP32[8147]|0; + $140 = HEAP32[(32592)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(32440)>>2]|0; - $$promoted = HEAP32[(32428)>>2]|0; + $142 = HEAP32[(32604)>>2]|0; + $$promoted = HEAP32[(32592)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16676,17 +20907,17 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(32428)>>2] = $147; - $148 = +HEAPF32[743]; + HEAP32[(32592)>>2] = $147; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; break; } default: { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } } @@ -16703,11 +20934,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[8260]|0; + $3 = HEAP32[8301]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[7820]|0; - $6 = HEAP32[8261]|0; + $5 = HEAP32[7861]|0; + $6 = HEAP32[8302]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16715,16 +20946,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[8261] = $10; + HEAP32[8302] = $10; STACKTOP = sp;return; } - $11 = HEAP32[7823]|0; + $11 = HEAP32[7864]|0; switch ($11|0) { case 1: { - $12 = HEAP32[8082]|0; + $12 = HEAP32[8123]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(32340)>>2]|0; + $14 = HEAP32[(32504)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16735,19 +20966,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[8082] = $21; + HEAP32[8123] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,8337,$vararg_buffer); + _TraceLog(1,8105,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[8094]|0; + $22 = HEAP32[8135]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(32388)>>2]|0; + $24 = HEAP32[(32552)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16758,19 +20989,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[8094] = $31; + HEAP32[8135] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,8362,$vararg_buffer1); + _TraceLog(1,8130,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[8106]|0; + $32 = HEAP32[8147]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(32436)>>2]|0; + $34 = HEAP32[(32600)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16781,9 +21012,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[8106] = $41; - $42 = HEAP32[7821]|0; - $43 = HEAP32[7822]|0; + HEAP32[8147] = $41; + $42 = HEAP32[7862]|0; + $43 = HEAP32[7863]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16791,7 +21022,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,8391,$vararg_buffer3); + _TraceLog(1,8159,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -16806,7 +21037,7 @@ function _rlVertex2f($0,$1) { $1 = +$1; var $2 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $2 = +HEAPF32[743]; + $2 = +HEAPF32[746]; _rlVertex3f($0,$1,$2); return; } @@ -16817,7 +21048,7 @@ function _rlVertex2i($0,$1) { sp = STACKTOP; $2 = (+($0|0)); $3 = (+($1|0)); - $4 = +HEAPF32[743]; + $4 = +HEAPF32[746]; _rlVertex3f($2,$3,$4); return; } @@ -16826,13 +21057,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[7823]|0; + $2 = HEAP32[7864]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(32440)>>2]|0; - $5 = HEAP32[(32428)>>2]|0; + $4 = HEAP32[(32604)>>2]|0; + $5 = HEAP32[(32592)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16840,7 +21071,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(32428)>>2] = $10; + HEAP32[(32592)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16859,18 +21090,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[7823]|0; + $4 = HEAP32[7864]|0; switch ($4|0) { case 1: { - $$sink37 = (32336);$$sink38 = (32348); + $$sink37 = (32500);$$sink38 = (32512); break; } case 4: { - $$sink37 = (32384);$$sink38 = (32396); + $$sink37 = (32548);$$sink38 = (32560); break; } case 7: { - $$sink37 = (32432);$$sink38 = (32444); + $$sink37 = (32596);$$sink38 = (32608); break; } default: { @@ -16909,8 +21140,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[7821]|0; - $2 = HEAP32[7822]|0; + $1 = HEAP32[7862]|0; + $2 = HEAP32[7863]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16923,9 +21154,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[7822] = $10; + HEAP32[7863] = $10; } - $11 = HEAP32[7822]|0; + $11 = HEAP32[7863]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16936,7 +21167,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[8106]|0; + $0 = HEAP32[8147]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16948,7 +21179,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[7791]|0; + $1 = HEAP32[7832]|0; HEAP32[$0>>2] = $1; $$sroa$4$0$$sroa_idx2 = ((($0)) + 4|0); HEAP32[$$sroa$4$0$$sroa_idx2>>2] = 1; @@ -17138,7 +21369,7 @@ 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; + ;HEAP32[$0>>2]=HEAP32[31016>>2]|0;HEAP32[$0+4>>2]=HEAP32[31016+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[31016+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[31016+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[31016+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[31016+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[31016+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[31016+28>>2]|0; return; } function _MeasureTextEx($0,$1,$2,$3,$4) { @@ -17614,8 +21845,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(34919,$0,$1)|0); - STACKTOP = sp;return (34919|0); + (_vsprintf(37235,$0,$1)|0); + STACKTOP = sp;return (37235|0); } function _MeasureText($0,$1) { $0 = $0|0; @@ -17654,22 +21885,22 @@ 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[8262]|0; - $4 = HEAP32[744]|0; + $3 = HEAP32[8303]|0; + $4 = HEAP32[747]|0; $5 = ($3|0)<($4|0); if ($5) { $6 = (($3) + 1)|0; $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[8263] = $7; - HEAP32[744] = $7; + HEAP32[8304] = $7; + HEAP32[747] = $7; $$sink = 0; } - HEAP32[8262] = $$sink; - $8 = HEAP32[8263]|0; + HEAP32[8303] = $$sink; + $8 = HEAP32[8304]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(8416,$$byval_copy)|0); + (_FormatText(8184,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -17678,7 +21909,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(34919,$0,$1,20,$$byval_copy); + _DrawText(37235,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _emscripten_GetProcAddress($0) { @@ -17727,7 +21958,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,8424)|0); + $12 = (_strstr($11,8192)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -17736,7 +21967,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,8428)|0); + $17 = (_strstr($16,8196)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -17745,7 +21976,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,8432)|0); + $22 = (_strstr($21,8200)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -17754,7 +21985,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,8436)|0); + $27 = (_strstr($26,8204)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -17763,1210 +21994,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,8442)|0); + $32 = (_strcmp($31,8210)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,8480)|0); + $35 = (_strcmp($34,8248)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 8499; + HEAP32[$3>>2] = 8267; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,8512)|0); + $38 = (_strcmp($37,8280)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 8533; + HEAP32[$3>>2] = 8301; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,8548)|0); + $41 = (_strcmp($40,8316)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 8563; + HEAP32[$3>>2] = 8331; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,8578)|0); + $44 = (_strcmp($43,8346)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 8593; + HEAP32[$3>>2] = 8361; } } else { - HEAP32[$3>>2] = 8464; + HEAP32[$3>>2] = 8232; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,8608)|0); + $47 = (_strcmp($46,8376)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,8622)|0); + $50 = (_strcmp($49,8390)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,8634)|0); + $53 = (_strcmp($52,8402)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 6; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,8648)|0); + $56 = (_strcmp($55,8416)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 7; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,8660)|0); + $59 = (_strcmp($58,8428)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 8; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,8674)|0); + $62 = (_strcmp($61,8442)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 9; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,8688)|0); + $65 = (_strcmp($64,8456)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 10; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,8705)|0); + $68 = (_strcmp($67,8473)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,8728)|0); + $71 = (_strcmp($70,8496)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,8754)|0); + $74 = (_strcmp($73,8522)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,8767)|0); + $77 = (_strcmp($76,8535)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,8783)|0); + $80 = (_strcmp($79,8551)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,8796)|0); + $83 = (_strcmp($82,8564)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 11; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,8810)|0); + $86 = (_strcmp($85,8578)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,8830)|0); + $89 = (_strcmp($88,8598)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,8850)|0); + $92 = (_strcmp($91,8618)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,8867)|0); + $95 = (_strcmp($94,8635)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,8884)|0); + $98 = (_strcmp($97,8652)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,8896)|0); + $101 = (_strcmp($100,8664)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 12; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,8909)|0); + $104 = (_strcmp($103,8677)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 13; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,8925)|0); + $107 = (_strcmp($106,8693)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,8948)|0); + $110 = (_strcmp($109,8716)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,8961)|0); + $113 = (_strcmp($112,8729)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,8977)|0); + $116 = (_strcmp($115,8745)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,8988)|0); + $119 = (_strcmp($118,8756)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 14; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,9007)|0); + $122 = (_strcmp($121,8775)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 15; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,9029)|0); + $125 = (_strcmp($124,8797)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 16; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,9048)|0); + $128 = (_strcmp($127,8816)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,9077)|0); + $131 = (_strcmp($130,8845)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,9094)|0); + $134 = (_strcmp($133,8862)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,9109)|0); + $137 = (_strcmp($136,8877)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,9124)|0); + $140 = (_strcmp($139,8892)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,9145)|0); + $143 = (_strcmp($142,8913)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,9165)|0); + $146 = (_strcmp($145,8933)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,9185)|0); + $149 = (_strcmp($148,8953)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,9211)|0); + $152 = (_strcmp($151,8979)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,9230)|0); + $155 = (_strcmp($154,8998)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,9242)|0); + $158 = (_strcmp($157,9010)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,9254)|0); + $161 = (_strcmp($160,9022)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,9266)|0); + $164 = (_strcmp($163,9034)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,9278)|0); + $167 = (_strcmp($166,9046)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 17; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,9290)|0); + $170 = (_strcmp($169,9058)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,9302)|0); + $173 = (_strcmp($172,9070)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,9314)|0); + $176 = (_strcmp($175,9082)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,9326)|0); + $179 = (_strcmp($178,9094)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,9339)|0); + $182 = (_strcmp($181,9107)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,9352)|0); + $185 = (_strcmp($184,9120)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,9365)|0); + $188 = (_strcmp($187,9133)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,9378)|0); + $191 = (_strcmp($190,9146)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,9391)|0); + $194 = (_strcmp($193,9159)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,9404)|0); + $197 = (_strcmp($196,9172)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,9417)|0); + $200 = (_strcmp($199,9185)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,9430)|0); + $203 = (_strcmp($202,9198)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,9449)|0); + $206 = (_strcmp($205,9217)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,9468)|0); + $209 = (_strcmp($208,9236)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,9487)|0); + $212 = (_strcmp($211,9255)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 18; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,9500)|0); + $215 = (_strcmp($214,9268)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 19; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,9518)|0); + $218 = (_strcmp($217,9286)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 20; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,9536)|0); + $221 = (_strcmp($220,9304)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 21; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,9554)|0); + $224 = (_strcmp($223,9322)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 22; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,9572)|0); + $227 = (_strcmp($226,9340)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,9592)|0); + $230 = (_strcmp($229,9360)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,8533)|0); + $233 = (_strcmp($232,8301)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,9610)|0); + $236 = (_strcmp($235,9378)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,9625)|0); + $239 = (_strcmp($238,9393)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,9646)|0); + $242 = (_strcmp($241,9414)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,9661)|0); + $245 = (_strcmp($244,9429)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,9679)|0); + $248 = (_strcmp($247,9447)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,9695)|0); + $251 = (_strcmp($250,9463)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,9714)|0); + $254 = (_strcmp($253,9482)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,9728)|0); + $257 = (_strcmp($256,9496)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,9743)|0); + $260 = (_strcmp($259,9511)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,8464)|0); + $263 = (_strcmp($262,8232)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,9754)|0); + $266 = (_strcmp($265,9522)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,8563)|0); + $269 = (_strcmp($268,8331)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 23; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,8593)|0); + $272 = (_strcmp($271,8361)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 24; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,9770)|0); + $275 = (_strcmp($274,9538)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,9797)|0); + $278 = (_strcmp($277,9565)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,9811)|0); + $281 = (_strcmp($280,9579)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,8499)|0); + $284 = (_strcmp($283,8267)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,9831)|0); + $287 = (_strcmp($286,9599)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,9849)|0); + $290 = (_strcmp($289,9617)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,9861)|0); + $293 = (_strcmp($292,9629)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,9882)|0); + $296 = (_strcmp($295,9650)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 25; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,9900)|0); + $299 = (_strcmp($298,9668)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 26; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,9918)|0); + $302 = (_strcmp($301,9686)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 27; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,9939)|0); + $305 = (_strcmp($304,9707)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,9965)|0); + $308 = (_strcmp($307,9733)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,9988)|0); + $311 = (_strcmp($310,9756)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,10026)|0); + $314 = (_strcmp($313,9794)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,10042)|0); + $317 = (_strcmp($316,9810)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,10057)|0); + $320 = (_strcmp($319,9825)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,10080)|0); + $323 = (_strcmp($322,9848)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,10093)|0); + $326 = (_strcmp($325,9861)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 28; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,10107)|0); + $329 = (_strcmp($328,9875)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 29; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,10121)|0); + $332 = (_strcmp($331,9889)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,10141)|0); + $335 = (_strcmp($334,9909)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,10161)|0); + $338 = (_strcmp($337,9929)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,10177)|0); + $341 = (_strcmp($340,9945)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,10195)|0); + $344 = (_strcmp($343,9963)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,10211)|0); + $347 = (_strcmp($346,9979)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,10226)|0); + $350 = (_strcmp($349,9994)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,10248)|0); + $353 = (_strcmp($352,10016)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 30; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,10266)|0); + $356 = (_strcmp($355,10034)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 31; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,10287)|0); + $359 = (_strcmp($358,10055)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,10305)|0); + $362 = (_strcmp($361,10073)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,10318)|0); + $365 = (_strcmp($364,10086)|0); $366 = ($365|0)!=(0); if (!($366)) { - HEAP32[$1>>2] = 1; + HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,10333)|0); + $368 = (_strcmp($367,10101)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,10347)|0); + $371 = (_strcmp($370,10115)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,10357)|0); + $374 = (_strcmp($373,10125)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,10367)|0); + $377 = (_strcmp($376,10135)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,10389)|0); + $380 = (_strcmp($379,10157)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,10415)|0); + $383 = (_strcmp($382,10183)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,10442)|0); + $386 = (_strcmp($385,10210)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,10455)|0); + $389 = (_strcmp($388,10223)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,10470)|0); + $392 = (_strcmp($391,10238)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,10485)|0); + $395 = (_strcmp($394,10253)|0); $396 = ($395|0)!=(0); if (!($396)) { - HEAP32[$1>>2] = 2; + HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,10509)|0); + $398 = (_strcmp($397,10277)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,10520)|0); + $401 = (_strcmp($400,10288)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 32; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,10542)|0); + $404 = (_strcmp($403,10310)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,10564)|0); + $407 = (_strcmp($406,10332)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,10588)|0); + $410 = (_strcmp($409,10356)|0); $411 = ($410|0)!=(0); if (!($411)) { - HEAP32[$1>>2] = 3; + HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,10597)|0); + $413 = (_strcmp($412,10365)|0); $414 = ($413|0)!=(0); if (!($414)) { - HEAP32[$1>>2] = 4; + HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,10605)|0); + $416 = (_strcmp($415,10373)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,10618)|0); + $419 = (_strcmp($418,10386)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,10632)|0); + $422 = (_strcmp($421,10400)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,10644)|0); + $425 = (_strcmp($424,10412)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,10653)|0); + $428 = (_strcmp($427,10421)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,10663)|0); + $431 = (_strcmp($430,10431)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,10675)|0); + $434 = (_strcmp($433,10443)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,10686)|0); + $437 = (_strcmp($436,10454)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,10694)|0); + $440 = (_strcmp($439,10462)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,10706)|0); + $443 = (_strcmp($442,10474)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,10721)|0); + $446 = (_strcmp($445,10489)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,10733)|0); + $449 = (_strcmp($448,10501)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,10747)|0); + $452 = (_strcmp($451,10515)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,10772)|0); + $455 = (_strcmp($454,10540)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,10789)|0); + $458 = (_strcmp($457,10557)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,10805)|0); + $461 = (_strcmp($460,10573)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,10821)|0); + $464 = (_strcmp($463,10589)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,10833)|0); + $467 = (_strcmp($466,10601)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 33; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,10845)|0); + $470 = (_strcmp($469,10613)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 34; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,10869)|0); + $473 = (_strcmp($472,10637)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,10882)|0); + $476 = (_strcmp($475,10650)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,10896)|0); + $479 = (_strcmp($478,10664)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 35; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,10918)|0); + $482 = (_strcmp($481,10686)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 36; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,10925)|0); + $485 = (_strcmp($484,10693)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,10941)|0); + $488 = (_strcmp($487,10709)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,10958)|0); + $491 = (_strcmp($490,10726)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,10975)|0); + $494 = (_strcmp($493,10743)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,10991)|0); + $497 = (_strcmp($496,10759)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,11007)|0); + $500 = (_strcmp($499,10775)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,11024)|0); + $503 = (_strcmp($502,10792)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,11038)|0); + $506 = (_strcmp($505,10806)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,11050)|0); + $509 = (_strcmp($508,10818)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,11061)|0); + $512 = (_strcmp($511,10829)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,11074)|0); + $515 = (_strcmp($514,10842)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,11084)|0); + $518 = (_strcmp($517,10852)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,11101)|0); + $521 = (_strcmp($520,10869)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,11113)|0); + $524 = (_strcmp($523,10881)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,11135)|0); + $527 = (_strcmp($526,10903)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,11155)|0); + $530 = (_strcmp($529,10923)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,11168)|0); + $533 = (_strcmp($532,10936)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,11190)|0); + $536 = (_strcmp($535,10958)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,11210)|0); + $539 = (_strcmp($538,10978)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,11227)|0); + $542 = (_strcmp($541,10995)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,11244)|0); + $545 = (_strcmp($544,11012)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,11264)|0); + $548 = (_strcmp($547,11032)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -18988,7 +23219,15 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (33056|0); + return (33220|0); +} +function ___emscripten_pthread_data_constructor() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 188|0); + HEAP32[$1>>2] = (33260); + return; } function ___stdio_close($0) { $0 = $0|0; @@ -18998,7 +23237,7 @@ function ___stdio_close($0) { $vararg_buffer = sp; $1 = ((($0)) + 60|0); $2 = HEAP32[$1>>2]|0; - $3 = (_dummy_738($2)|0); + $3 = (_dummy_736($2)|0); HEAP32[$vararg_buffer>>2] = $3; $4 = (___syscall6(6,($vararg_buffer|0))|0); $5 = (___syscall_ret($4)|0); @@ -19178,12 +23417,7 @@ function ___pthread_self_108() { $0 = (_pthread_self()|0); return ($0|0); } -function _pthread_self() { - var label = 0, sp = 0; - sp = STACKTOP; - return (2980|0); -} -function _dummy_738($0) { +function _dummy_736($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; @@ -19316,7 +23550,7 @@ function _vsnprintf($0,$1,$2,$3) { 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)); + dest=$5; src=3124; 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) { @@ -19387,7 +23621,7 @@ function _vfprintf($0,$1,$2) { $$0 = -1; } else { $9 = ((($0)) + 76|0); - $10 = HEAP32[$9>>2]|0; + $10 = (Atomics_load(HEAP32,$9>>2)|0); $11 = ($10|0)>(-1); if ($11) { $12 = (___lockfile($0)|0); @@ -19800,7 +24034,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((11380 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((11148 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -19978,7 +24212,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 = 11844;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 11612;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -19999,7 +24233,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 11844;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 11612;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -20007,8 +24241,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 11844 : (11846); - $$$ = $238 ? $$ : (11845); + $$ = $240 ? 11612 : (11614); + $$$ = $238 ? $$ : (11613); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -20025,7 +24259,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 11844;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 11612;$242 = $167;$243 = $170; label = 66; break; } @@ -20038,7 +24272,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 = 11844;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 11612;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -20052,7 +24286,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 11854; + $271 = $270 ? $269 : 11622; $$1 = $271; label = 71; break; @@ -20075,7 +24309,7 @@ function _printf_core($0,$1,$2,$3,$4) { $$pre349 = HEAP32[$6>>2]|0; $284 = ($$0254|0)==(0); if ($284) { - _pad_674($0,32,$$1260,0,$$1263$); + _pad_672($0,32,$$1260,0,$$1263$); $$0240$lcssa357 = 0; label = 84; } else { @@ -20092,7 +24326,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 11844;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 11612;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -20114,8 +24348,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (11844 + ($208)|0); - $$289 = $or$cond283 ? 11844 : $209; + $209 = (11612 + ($208)|0); + $$289 = $or$cond283 ? 11612 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -20136,7 +24370,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 = 11844;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 11612;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -20172,7 +24406,7 @@ function _printf_core($0,$1,$2,$3,$4) { $$0 = -1; break L1; } - _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + _pad_672($0,32,$$1260,$$0240$lcssa,$$1263$); $295 = ($$0240$lcssa|0)==(0); if ($295) { $$0240$lcssa357 = 0; @@ -20233,7 +24467,7 @@ function _printf_core($0,$1,$2,$3,$4) { else if ((label|0) == 84) { label = 0; $303 = $$1263$ ^ 8192; - _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + _pad_672($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; @@ -20247,14 +24481,14 @@ function _printf_core($0,$1,$2,$3,$4) { $312 = (($$$5) + ($$2234))|0; $313 = ($$1260|0)<($312|0); $$2261 = $313 ? $312 : $$1260; - _pad_674($0,32,$$2261,$312,$$6268); + _pad_672($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); + _pad_672($0,48,$$2261,$312,$314); + _pad_672($0,48,$$$5,$310,0); _out($0,$$2,$310); $315 = $$6268 ^ 8192; - _pad_674($0,32,$$2261,$312,$315); + _pad_672($0,32,$$2261,$312,$315); $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; } L114: do { @@ -20543,3329 +24777,5392 @@ function _pop_arg($0,$1,$2) { $76 = $75; HEAP32[$76>>2] = 0; break L1; - break; + 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 = (11664 + ($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; } - 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; + $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; } - 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; + } + } 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; + } } - 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; + 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; + } } - 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; + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_672($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; } - default: { - break L1; + } + $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_673($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11629; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11630) : (11635); + $$$ = $16 ? $$ : (11632); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_673($$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 = (11664 + ($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; + } } - } 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; + $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_672($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_672($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_672($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_672($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 { - $$056 = $14;$15 = $17;$8 = $16; + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; } - } - } - 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; + $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 { - $$06 = $10;$11 = $13;$7 = $12; + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; } - } - } - 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; + $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 { - break; + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; } - } - $$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; + $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 { - $$012 = $27;$$111 = $26; + $$1515 = 0; } - } - } - 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; + $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) { - $9 = HEAP8[$$03555>>0]|0; - $10 = ($9<<24>>24)==($8<<24>>24); - if ($10) { - $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654; - label = 6; - break L1; + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; } - $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; + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; } else { - $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; - label = 5; + $$lcssa673 = 1; 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; + $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 { - $$0$lcssa = $29;$$137$lcssa = $30; - label = 11; - break L11; + $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_672($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_672($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; } - $$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; + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { break; } else { - $$140 = $$0$lcssa;$$23839 = $$137$lcssa; + $$5493597 = $337; } } - while(1) { - $33 = HEAP8[$$140>>0]|0; - $34 = ($33<<24>>24)==($18<<24>>24); - if ($34) { - $$2 = $$140;$$3 = $$23839; - break L8; + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11680,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; + } } - $35 = ((($$140)) + 1|0); - $36 = (($$23839) + -1)|0; - $37 = ($36|0)==(0); - if ($37) { - $$2 = $35;$$3 = 0; - break; - } else { - $$140 = $35;$$23839 = $36; + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_672($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,11680,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_672($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); } + $387 = $4 ^ 8192; + _pad_672($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11648 : 11652; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11656 : 11660; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_672($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_672($0,32,$2,$32,$34); + $$sink562 = $32; } } while(0); - $38 = ($$3|0)!=(0); - $39 = $38 ? $$2 : 0; - return ($39|0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); } -function _pad_674($0,$1,$2,$3,$4) { - $0 = $0|0; +function ___DOUBLE_BITS_673($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; - $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; + var $2 = 0.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; + $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 { - $$0$lcssa = $9; + $$016 = $0;$storemerge = 0; } - _out($0,$5,$$0$lcssa); + HEAP32[$1>>2] = $storemerge; + $$0 = $$016; + break; + } + case 2047: { + $$0 = $0; + break; } - 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; + 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|0); + } + return (+$$0); } -function _fmt_fp($0,$1,$2,$3,$4,$5) { +function _wcrtomb($0,$1,$2) { $0 = $0|0; - $1 = +$1; + $1 = $1|0; $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; + 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; - 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; + $3 = ($0|0)==(0|0); 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; + if ($3) { + $$0 = 1; + } else { + $4 = ($1>>>0)<(128); + if ($4) { + $5 = $1&255; + HEAP8[$0>>0] = $5; + $$0 = 1; + break; } - $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; + $6 = (___pthread_self_446()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = (Atomics_load(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 { - $$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; - } + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + 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; + } + $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; } - $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; + $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 { - $$pre = HEAP32[$7>>2]|0; - $$3 = $36;$$pr = $$pre; + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; } - $112 = ($$pr|0)<(0); - $113 = ((($6)) + 288|0); - $$556 = $112 ? $6 : $113; - $$0498 = $$556;$$4 = $$3; + } + } while(0); + return ($$0|0); +} +function ___pthread_self_446() { + 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 = (11682 + ($$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 = 11770;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 11770; + } else { + $$01214 = 11770;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$113 = $$01214; 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 { + $9 = HEAP8[$$113>>0]|0; + $10 = ($9<<24>>24)==(0); + $11 = ((($$113)) + 1|0); + if ($10) { break; + } else { + $$113 = $11; } } - $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; + $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 = (Atomics_load(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) { - $137 = ($$2500>>>0)>($$2483$ph>>>0); - if (!($137)) { - break; + $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; } - $138 = ((($$2500)) + -4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(0); - if ($140) { - $$2500 = $138; - } else { - break; + $39 = (($35) + ($31))|0; + $40 = (($0) + ($39)|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)==(0); + if (!($42)) { + $$4 = 0; + break L1; } - } - $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; - } + $43 = (($0) + ($35)|0); + $44 = (_strcmp($2,$43)|0); + $45 = ($44|0)==(0); + if ($45) { + 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; + $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 { - $171 = ((($$3501647)) + 4|0); - HEAP32[$$3501647>>2] = $164; - $$$3484692 = $$$3484;$$4502 = $171; + $$090 = $$191;$$094 = $$195; } - } 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; + $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 { - $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; - break; + $$4 = 0; } - } - } 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; - } - } + $$4 = 0; } } else { - $$1515 = 0; + $$4 = 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; + } 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) { - $213 = ($$1531630*10)|0; - $$0527 = (($$0527631) + 1)|0; - $exitcond = ($$0527|0)==(9); - if ($exitcond) { - $$1531$lcssa = $213; + $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 { - $$0527631 = $$0527;$$1531630 = $213; + $$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 { - $$1531$lcssa = 10; + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; } - $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; + } 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 { - $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; + $$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 { - $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; + $$03039 = $13; } - $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; + } + } + $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; } - $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; + $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 { - $$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; - } - } + $$029$lcssa = $31; + break; } - } else { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; } + } else { + $$029$lcssa = $$030$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(0); + $38 = $1&255; + $$1 = $$029$lcssa; while(1) { - $252 = ($$7505>>>0)>($$9$ph>>>0); - if (!($252)) { - $$lcssa673 = 0; + $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; - } - $253 = ((($$7505)) + -4|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)==(0); - if ($255) { - $$7505 = $253; } else { - $$lcssa673 = 1; - break; + $$1 = $42; } } - $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; + } + } 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; } - $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; - } + $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 { - $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + $$02642 = $11;$$02741 = $12; } - } 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; - } + } + $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 { - $$1512$lcssa = $300; + $$12834 = $34;$$135 = $33; } - $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; + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((33284|0)); + return (33292|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((33284|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 = (Atomics_load(HEAP32,780)|0); + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = (Atomics_load(HEAP32,780)|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) { - $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; - } + $14 = ((($$02327)) + 76|0); + $15 = (Atomics_load(HEAP32,$14>>2)|0); + $16 = ($15|0)>(-1); + if ($16) { + $17 = (___lockfile($$02327)|0); + $26 = $17; } 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; - } + $26 = 0; } - $335 = $$1465; - $336 = (($324) - ($335))|0; - _out($0,$$1465,$336); - $337 = ((($$5493597)) + 4|0); - $338 = ($337>>>0)>($$556>>>0); - if ($338) { - break; + $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 { - $$5493597 = $337; + $$1 = $$02426; } - } - $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; - } + $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; } - } else { - $$4478$lcssa = $$3477; } - $357 = (($$4478$lcssa) + 9)|0; - _pad_674($0,48,$357,9,0); + } + ___ofl_unlock(); + $$0 = $$024$lcssa; + } else { + $2 = ((($0)) + 76|0); + $3 = (Atomics_load(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 { - $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; + ___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; } - $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; + $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 { - $369 = ($$0>>>0)>($8>>>0); - if (!($369)) { - $$2 = $$0; + $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; - } - $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); + return ($$0|0); } -function _frexp($0,$1) { - $0 = +$0; +function _twobyte_strstr($0,$1) { + $0 = $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; + 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; - 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; + $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 { - $$016 = $0;$storemerge = 0; + $$sink$in = $15;$$sink17$sink = $11; } - 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); + return ($$lcssa|0); } -function _wcrtomb($0,$1,$2) { +function _threebyte_strstr($0,$1) { $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; + 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; - $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; + $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) { - $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; + $$016$lcssa = $30;$$lcssa = $35; break; + } else { + $$01619 = $30;$$020 = $34; } - $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; + } + } + $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 { - $56 = (___errno_location()|0); - HEAP32[$56>>2] = 84; - $$0 = -1; - break; + $$sink2124 = $40;$39 = $43; } } - } 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); + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); } -function ___strerror_l($0,$1) { +function _twoway_strstr($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; + 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; - $$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; + 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 { - $$01214 = 12002;$$115 = $$016; - label = 5; - } - } - if ((label|0) == 5) { - while(1) { - label = 0; - $$113 = $$01214; + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; while(1) { - $9 = HEAP8[$$113>>0]|0; + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)==(0); - $11 = ((($$113)) + 1|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 { - $$113 = $11; + $$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; } - $12 = (($$115) + -1)|0; - $13 = ($12|0)==(0); - if ($13) { - $$012$lcssa = $11; - break; + } + } 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 { - $$01214 = $11;$$115 = $12; - label = 5; + $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; } } - } - $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); + } while(0); + STACKTOP = sp;return ($$3|0); } -function ___mo_lookup($0,$1,$2) { +function _strspn($0,$1) { $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 $$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 $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; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 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; + 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) { - $25 = $$094 >>> 1; - $26 = (($$090) + ($25))|0; - $27 = $26 << 1; - $28 = (($27) + ($23))|0; - $29 = (($0) + ($28<<2)|0); + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($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; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; } - $43 = (($0) + ($35)|0); - $44 = (_strcmp($2,$43)|0); - $45 = ($44|0)==(0); - if ($45) { + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; 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; + $$123 = $36;$27 = $37; } } - $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); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; } } while(0); - return ($$4|0); + STACKTOP = sp;return ($$0|0); } -function _swapc($0,$1) { +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 = 14256; + $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 $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + var $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); + $2 = HEAP32[748]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); } -function ___fwritex($0,$1,$2) { +function _strcspn($0,$1) { $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; + 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; - $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; + 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 { - $$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; + $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) { - $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) { + $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 { - $$038 = $22; + $$01922 = $32;$23 = $33; } } - $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); + 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 ___towrite($0) { +function _strcat($0,$1) { $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; + $1 = $1|0; + var $2 = 0, $3 = 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; + $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[8324]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } } else { - $10 = $7 | 32; - HEAP32[$0>>2] = $10; - $$0 = -1; + $$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[8324] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[8324] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[8324] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[8324] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); return ($$0|0); } -function _sn_write($0,$1,$2) { +function __emscripten_atomic_fetch_and_add_u64($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; + 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, $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); - $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); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function _strlen($0) { +function __emscripten_atomic_fetch_and_and_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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; - } + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } } - } while(0); - if ((label|0) == 4) { - $$0 = $$015$lcssa; + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_or_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { 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 { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { 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; - } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_sub_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } } - $21 = $$1$lcssa; - $$sink = $21; + $10 = ($7|0)==(0); + if ($10) { + break; + } } - $22 = (($$sink) - ($1))|0; - return ($22|0); + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function _strchr($0,$1) { +function __emscripten_atomic_fetch_and_xor_u64($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 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); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function ___strchrnul($0,$1) { +function _emscripten_async_run_in_main_thread($0) { $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; + var $$0 = 0, $$0$in = 0, $$0$in19 = 0, $$0$lcssa = 0, $$020 = 0, $$expand_i1_val = 0, $$lcssa = 0, $$lcssa18 = 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; + var $9 = 0, $call_queue$init$val = 0, $call_queue$init$val$pre_trunc = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = $1 & 255; + $1 = ($0|0)==(0|0); + if ($1) { + ___assert_fail((13864|0),(13696|0),260,(13869|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); $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; + if (!($3)) { + __do_call($0); + return; + } + (___pthread_mutex_lock(33816)|0); + $call_queue$init$val$pre_trunc = HEAP8[38331]|0; + $call_queue$init$val = $call_queue$init$val$pre_trunc&1; + if (!($call_queue$init$val)) { + $$expand_i1_val = 1; + HEAP8[38331] = $$expand_i1_val; + } + $4 = (Atomics_load(HEAP32, 8461)|0); + $5 = (Atomics_load(HEAP32, 8462)|0); + $$0$in19 = (($5) + 1)|0; + $$020 = (($$0$in19|0) % 128)&-1; + $6 = ($$020|0)==($4|0); + if ($6) { + $7 = $4; + while(1) { + (___pthread_mutex_unlock(33816)|0); + (_emscripten_futex_wait((33844|0),($7|0),inf)|0); + (___pthread_mutex_lock(33816)|0); + $8 = (Atomics_load(HEAP32, 8461)|0); + $9 = (Atomics_load(HEAP32, 8462)|0); + $$0$in = (($9) + 1)|0; + $$0 = (($$0$in|0) % 128)&-1; + $10 = ($$0|0)==($8|0); + if ($10) { + $7 = $8; } 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; - } + $$0$lcssa = $$0;$$lcssa = $9;$$lcssa18 = $8; + break; } } - } 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); + } else { + $$0$lcssa = $$020;$$lcssa = $5;$$lcssa18 = $4; + } + $11 = (33852 + ($$lcssa<<2)|0); + HEAP32[$11>>2] = $0; + $12 = ($$lcssa18|0)==($$lcssa|0); + if ($12) { + _emscripten_asm_const_v(1); + } + $13 = (Atomics_store(HEAP32, 8462, $$0$lcssa)|0); + (___pthread_mutex_unlock(33816)|0); + return; } -function ___stpcpy($0,$1) { +function _emscripten_atomic_add_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } - $$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; - } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_and_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } } + $10 = ($7|0)==(0); + if ($10) { + break; + } } - return ($$029|0); + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); } -function ___ofl_lock() { - var label = 0, sp = 0; +function _emscripten_atomic_cas_u64($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, $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, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - ___lock((33120|0)); - return (33128|0); + $5 = $0; + $6 = $5 >>> 3; + $7 = $6 & 255; + $8 = (34372 + ($7<<2)|0); + while(1) { + while(1) { + $9 = (Atomics_load(HEAP32, $8>>2)|0); + $10 = (Atomics_compareExchange(HEAP32, $8>>2, $9, 1)|0); + $11 = ($9|0)==($10|0); + if ($11) { + break; + } + } + $12 = ($9|0)==(0); + if ($12) { + break; + } + } + $13 = $0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)==($1|0); + $20 = ($18|0)==($2|0); + $21 = $19 & $20; + if (!($21)) { + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); + } + $22 = $0; + $23 = $22; + HEAP32[$23>>2] = $3; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $4; + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); } -function ___ofl_unlock() { - var label = 0, sp = 0; +function _emscripten_atomic_exchange_u32($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - ___unlock((33120|0)); - return; + while(1) { + $2 = (Atomics_load(HEAP32, $0>>2)|0); + $3 = (Atomics_compareExchange(HEAP32, $0>>2, $2, $1)|0); + $4 = ($2|0)==($3|0); + if ($4) { + break; + } + } + return ($2|0); } -function _fflush($0) { +function _emscripten_atomic_exchange_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; - $1 = ($0|0)==(0|0); - do { - if ($1) { - $8 = HEAP32[838]|0; - $9 = ($8|0)==(0|0); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|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; - } - } + break; } - ___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; + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $0; + $18 = $17; + HEAP32[$18>>2] = $1; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $2; + $21 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function _emscripten_atomic_load_f32($0) { + $0 = $0|0; + var $1 = 0, $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (Atomics_load(HEAP32, $0>>2)|0); + $2 = (HEAP32[tempDoublePtr>>2]=$1,+HEAPF32[tempDoublePtr>>2]); + return (+$2); +} +function _emscripten_atomic_load_f64($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.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34372 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { break; } - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = (___fflush_unlocked($0)|0); - if ($phitmp) { - $$0 = $7; - } else { - ___unlockfile($0); - $$0 = $7; + } + $8 = ($5|0)==(0); + if ($8) { + break; + } + } + $9 = +HEAPF64[$0>>3]; + $10 = (Atomics_store(HEAP32, $4>>2, 0)|0); + return (+$9); +} +function _emscripten_atomic_load_u64($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34372 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; } } - } while(0); - return ($$0|0); + $8 = ($5|0)==(0); + if ($8) { + break; + } + } + $9 = $0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (Atomics_store(HEAP32, $4>>2, 0)|0); + tempRet0 = ($14); + return ($11|0); } -function ___fflush_unlocked($0) { +function _emscripten_atomic_or_u64($0,$1,$2) { $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; + $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, $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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } } - } 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); + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_store_f32($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (HEAPF32[tempDoublePtr>>2]=$1,HEAP32[tempDoublePtr>>2]|0); + $3 = (Atomics_store(HEAP32, $0>>2, $2)|0); + $4 = (+($3>>>0)); + return (+$4); +} +function _emscripten_atomic_store_f64($0,$1) { + $0 = $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 = $0; + $3 = $2 >>> 3; + $4 = $3 & 255; + $5 = (34372 + ($4<<2)|0); + while(1) { + while(1) { + $6 = (Atomics_load(HEAP32, $5>>2)|0); + $7 = (Atomics_compareExchange(HEAP32, $5>>2, $6, 1)|0); + $8 = ($6|0)==($7|0); + if ($8) { + break; + } + } + $9 = ($6|0)==(0); + if ($9) { + break; } - $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); + HEAPF64[$0>>3] = $1; + $10 = (Atomics_store(HEAP32, $5>>2, 0)|0); + return (+$1); } -function _strstr($0,$1) { +function _emscripten_atomic_store_u64($0,$1,$2) { $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; + $2 = $2|0; + var $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; - $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; - } - } - } - } - } + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } } - } while(0); - return ($$0|0); + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + HEAP32[$12>>2] = $1; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $2; + $15 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($2); + return ($1|0); } -function _twobyte_strstr($0,$1) { +function _emscripten_atomic_sub_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, 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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); while(1) { - $11 = ((($$sink17$sink)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $$lcssa = 0; - break; + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + 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; + $10 = ($7|0)==(0); + if ($10) { break; - } else { - $$sink$in = $15;$$sink17$sink = $11; } } - return ($$lcssa|0); + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); } -function _threebyte_strstr($0,$1) { +function _emscripten_atomic_xor_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34372 + ($5<<2)|0); + while(1) { 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; + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { break; - } else { - $$01619 = $30;$$020 = $34; } } + $10 = ($7|0)==(0); + if ($10) { + break; + } } - $37 = ((($$016$lcssa)) + -2|0); - $38 = $$lcssa ? $37 : 0; - return ($38|0); + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|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; +function _emscripten_main_thread_process_queued_calls() { + var $$0910 = 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, $8 = 0, $9 = 0, $or$cond = 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; + $0 = (_emscripten_is_main_runtime_thread()|0); + $1 = ($0|0)==(0); + if ($1) { + ___assert_fail((13574|0),(13696|0),424,(13760|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); + $3 = ($2|0)==(0); + $4 = HEAP32[8453]|0; + $5 = ($4|0)!=(0); + $or$cond = $3 | $5; + if ($or$cond) { + return; + } + HEAP32[8453] = 1; + (___pthread_mutex_lock(33816)|0); + $6 = (Atomics_load(HEAP32, 8461)|0); + $7 = (Atomics_load(HEAP32, 8462)|0); + $8 = ($6|0)==($7|0); + (___pthread_mutex_unlock(33816)|0); + if (!($8)) { + $$0910 = $6; 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; + $9 = (33852 + ($$0910<<2)|0); + $10 = HEAP32[$9>>2]|0; + __do_call($10); + (___pthread_mutex_lock(33816)|0); + $11 = (($$0910) + 1)|0; + $12 = (($11|0) % 128)&-1; + $13 = (Atomics_store(HEAP32, 8461, $12)|0); + $14 = (Atomics_load(HEAP32, 8462)|0); + $15 = ($12|0)==($14|0); + (___pthread_mutex_unlock(33816)|0); + if ($15) { break; } else { - $$sink2124 = $40;$39 = $43; + $$0910 = $12; } } } - $46 = ((($$sink21$lcssa)) + -3|0); - $47 = $$lcssa ? $46 : 0; - return ($47|0); + (_emscripten_futex_wake((33844|0),2147483647)|0); + HEAP32[8453] = 0; + return; } -function _twoway_strstr($0,$1) { +function _emscripten_sync_run_in_main_thread($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + _emscripten_async_run_in_main_thread($0); + (_emscripten_wait_for_call_v($0,inf)|0); + return; +} +function _emscripten_sync_run_in_main_thread_0($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $1 = sp; + dest=$1; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$1>>2] = $0; + $2 = ((($1)) + 80|0); + HEAP32[$2>>2] = 0; + _emscripten_async_run_in_main_thread($1); + (_emscripten_wait_for_call_v($1,inf)|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _emscripten_sync_run_in_main_thread_1($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; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $2 = sp + 1024|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $2 = sp; + dest=$2; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$2>>2] = $0; + $3 = ((($2)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($2)) + 80|0); + HEAP32[$4>>2] = 0; + _emscripten_async_run_in_main_thread($2); + (_emscripten_wait_for_call_v($2,inf)|0); + $5 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _emscripten_sync_run_in_main_thread_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|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; - } - } + dest=$3; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = $0; + $4 = ((($3)) + 16|0); + HEAP32[$4>>2] = $1; + $5 = ((($3)) + 24|0); + HEAP32[$5>>2] = $2; + $6 = ((($3)) + 80|0); + HEAP32[$6>>2] = 0; + _emscripten_async_run_in_main_thread($3); + (_emscripten_wait_for_call_v($3,inf)|0); + $7 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($7|0); +} +function _emscripten_sync_run_in_main_thread_3($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $4 = sp; + dest=$4; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$4>>2] = $0; + $5 = ((($4)) + 16|0); + HEAP32[$5>>2] = $1; + $6 = ((($4)) + 24|0); + HEAP32[$6>>2] = $2; + $7 = ((($4)) + 32|0); + HEAP32[$7>>2] = $3; + $8 = ((($4)) + 80|0); + HEAP32[$8>>2] = 0; + _emscripten_async_run_in_main_thread($4); + (_emscripten_wait_for_call_v($4,inf)|0); + $9 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _emscripten_sync_run_in_main_thread_4($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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $5 = sp; + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $6 = ((($5)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = ((($5)) + 24|0); + HEAP32[$7>>2] = $2; + $8 = ((($5)) + 32|0); + HEAP32[$8>>2] = $3; + $9 = ((($5)) + 40|0); + HEAP32[$9>>2] = $4; + $10 = ((($5)) + 80|0); + HEAP32[$10>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $11 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _emscripten_sync_run_in_main_thread_5($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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $6 = sp; + dest=$6; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$6>>2] = $0; + $7 = ((($6)) + 16|0); + HEAP32[$7>>2] = $1; + $8 = ((($6)) + 24|0); + HEAP32[$8>>2] = $2; + $9 = ((($6)) + 32|0); + HEAP32[$9>>2] = $3; + $10 = ((($6)) + 40|0); + HEAP32[$10>>2] = $4; + $11 = ((($6)) + 48|0); + HEAP32[$11>>2] = $5; + $12 = ((($6)) + 80|0); + HEAP32[$12>>2] = 0; + _emscripten_async_run_in_main_thread($6); + (_emscripten_wait_for_call_v($6,inf)|0); + $13 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _emscripten_sync_run_in_main_thread_6($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $7 = sp; + dest=$7; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$7>>2] = $0; + $8 = ((($7)) + 16|0); + HEAP32[$8>>2] = $1; + $9 = ((($7)) + 24|0); + HEAP32[$9>>2] = $2; + $10 = ((($7)) + 32|0); + HEAP32[$10>>2] = $3; + $11 = ((($7)) + 40|0); + HEAP32[$11>>2] = $4; + $12 = ((($7)) + 48|0); + HEAP32[$12>>2] = $5; + $13 = ((($7)) + 56|0); + HEAP32[$13>>2] = $6; + $14 = ((($7)) + 80|0); + HEAP32[$14>>2] = 0; + _emscripten_async_run_in_main_thread($7); + (_emscripten_wait_for_call_v($7,inf)|0); + $15 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _emscripten_sync_run_in_main_thread_7($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, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $8 = sp; + dest=$8; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$8>>2] = $0; + $9 = ((($8)) + 16|0); + HEAP32[$9>>2] = $1; + $10 = ((($8)) + 24|0); + HEAP32[$10>>2] = $2; + $11 = ((($8)) + 32|0); + HEAP32[$11>>2] = $3; + $12 = ((($8)) + 40|0); + HEAP32[$12>>2] = $4; + $13 = ((($8)) + 48|0); + HEAP32[$13>>2] = $5; + $14 = ((($8)) + 56|0); + HEAP32[$14>>2] = $6; + $15 = ((($8)) + 64|0); + HEAP32[$15>>2] = $7; + $16 = ((($8)) + 80|0); + HEAP32[$16>>2] = 0; + _emscripten_async_run_in_main_thread($8); + (_emscripten_wait_for_call_v($8,inf)|0); + $17 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($17|0); +} +function _emscripten_sync_run_in_main_thread_xprintf_varargs($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|0; + var $$0 = 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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $3 = sp + 96|0; + $4 = sp + 112|0; + $5 = sp; + HEAP32[$3>>2] = $varargs; + $6 = (_vsnprintf($4,128,$2,$3)|0); + $7 = ($6|0)>(127); + $8 = (($6) + 1)|0; + if ($7) { + $9 = (_malloc($8)|0); + HEAP32[$3>>2] = $varargs; + (_vsnprintf($9,$8,$2,$3)|0); + $$0 = $9; + } else { + $$0 = $4; + } + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $10 = $1; + $11 = ((($5)) + 16|0); + HEAP32[$11>>2] = $10; + $12 = ((($5)) + 24|0); + HEAP32[$12>>2] = $$0; + $13 = ((($5)) + 80|0); + HEAP32[$13>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $14 = ($$0|0)==($4|0); + if ($14) { + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); + } + _free($$0); + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); +} +function ___pthread_tsd_run_dtors() { + var $$02427 = 0, $$026 = 0, $$125 = 0, $$2 = 0, $0 = 0, $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; + var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 60|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 116|0); + $$02427 = 0; + while(1) { + $$026 = 0;$$125 = 0; + while(1) { + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + ($$026<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + $$2 = $$125; + } else { + $9 = (33300 + ($$026<<2)|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + $$2 = $$125; } 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; + HEAP32[$6>>2] = 0; + $12 = (Atomics_load(HEAP32,$9>>2)|0); + FUNCTION_TABLE_vi[$12 & 31]($7); + $$2 = 1; } + } + $13 = (($$026) + 1)|0; + $exitcond = ($13|0)==(128); + if ($exitcond) { + break; } else { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; + $$026 = $13;$$125 = $$2; } } - } 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; + $14 = (($$02427) + 1)|0; + $15 = ($$2|0)!=(0); + $16 = ($14|0)<(4); + $17 = $16 & $15; + if ($17) { + $$02427 = $14; + } else { + break; + } + } + return; +} +function _emscripten_wait_for_call_v($0,$1) { + $0 = $0|0; + $1 = +$1; + var $$ = 0, $$01921 = 0.0, $$020$lcssa = 0, $$1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = (Atomics_load(HEAP32, $2>>2)|0); + $4 = ($3|0)==(0); + if (!($4)) { + $$1 = $3; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); + } + $5 = (+_emscripten_get_now()); + $6 = $5 + $1; + _emscripten_set_current_thread_status(5); + $7 = $5 < $6; + if ($7) { + $$01921 = $5; + while(1) { + $8 = $6 - $$01921; + (_emscripten_futex_wait(($2|0),0,(+$8))|0); + $9 = (Atomics_load(HEAP32, $2>>2)|0); + $10 = (+_emscripten_get_now()); + $11 = ($9|0)==(0); + $12 = $10 < $6; + $or$cond = $11 & $12; + if ($or$cond) { + $$01921 = $10; } 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; + $$020$lcssa = $9; + break; } } + } else { + $$020$lcssa = 0; + } + _emscripten_set_current_thread_status(1); + $$1 = $$020$lcssa; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); +} +function __do_call($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, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $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, $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, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + do { + switch ($1|0) { + case 12: { + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 24|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_utime(($3|0),($5|0))|0); + $7 = ((($0)) + 80|0); + HEAP32[$7>>2] = $6; + break; + } + case 13: { + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($0)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_utimes(($9|0),($11|0))|0); + $13 = ((($0)) + 80|0); + HEAP32[$13>>2] = $12; + break; + } + case 37: { + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = (_chroot(($15|0))|0); + $17 = ((($0)) + 80|0); + HEAP32[$17>>2] = $16; + break; + } + case 46: { + $18 = ((($0)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = (_fpathconf(($19|0),($21|0))|0); + $23 = ((($0)) + 80|0); + HEAP32[$23>>2] = $22; + break; + } + case 68: { + $24 = ((($0)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 24|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = (_confstr(($25|0),($27|0),($29|0))|0); + $31 = ((($0)) + 80|0); + HEAP32[$31>>2] = $30; + break; + } + case 72: { + $32 = ((($0)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sysconf(($33|0))|0); + $35 = ((($0)) + 80|0); + HEAP32[$35>>2] = $34; + break; + } + case 110: { + $36 = ((($0)) + 16|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_atexit(($37|0))|0); + $39 = ((($0)) + 80|0); + HEAP32[$39>>2] = $38; + break; + } + case 111: { + $40 = ((($0)) + 16|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_getenv(($41|0))|0); + $43 = ((($0)) + 80|0); + HEAP32[$43>>2] = $42; + break; + } + case 112: { + $44 = (_clearenv()|0); + $45 = ((($0)) + 80|0); + HEAP32[$45>>2] = $44; + break; + } + case 113: { + $46 = ((($0)) + 16|0); + $47 = HEAP32[$46>>2]|0; + $48 = ((($0)) + 24|0); + $49 = HEAP32[$48>>2]|0; + $50 = ((($0)) + 32|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_setenv(($47|0),($49|0),($51|0))|0); + $53 = ((($0)) + 80|0); + HEAP32[$53>>2] = $52; + break; + } + case 114: { + $54 = ((($0)) + 16|0); + $55 = HEAP32[$54>>2]|0; + $56 = (_unsetenv(($55|0))|0); + $57 = ((($0)) + 80|0); + HEAP32[$57>>2] = $56; + break; + } + case 115: { + $58 = ((($0)) + 16|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_putenv(($59|0))|0); + $61 = ((($0)) + 80|0); + HEAP32[$61>>2] = $60; + break; + } + case 119: { + _tzset(); + break; + } + case 137: { + $62 = ((($0)) + 16|0); + $63 = HEAP32[$62>>2]|0; + $64 = ((($0)) + 24|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($0)) + 32|0); + $67 = HEAP32[$66>>2]|0; + $68 = ((($0)) + 40|0); + $69 = HEAP32[$68>>2]|0; + $70 = (_pthread_create(($63|0),($65|0),($67|0),($69|0))|0); + $71 = ((($0)) + 80|0); + HEAP32[$71>>2] = $70; + break; + } + case 138: { + $72 = ((($0)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ((($0)) + 24|0); + $75 = HEAP32[$74>>2]|0; + $76 = (_emscripten_syscall(($73|0),($75|0))|0); + $77 = ((($0)) + 80|0); + HEAP32[$77>>2] = $76; + break; + } + case 1024: { + $78 = ((($0)) + 4|0); + $79 = HEAP32[$78>>2]|0; + FUNCTION_TABLE_v[$79 & 7](); + break; + } + case 1025: { + $80 = ((($0)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = ((($0)) + 16|0); + $83 = HEAP32[$82>>2]|0; + FUNCTION_TABLE_vi[$81 & 31]($83); + break; + } + case 1026: { + $84 = ((($0)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = ((($0)) + 16|0); + $87 = HEAP32[$86>>2]|0; + $88 = ((($0)) + 24|0); + $89 = HEAP32[$88>>2]|0; + FUNCTION_TABLE_vii[$85 & 63]($87,$89); + break; + } + case 1027: { + $90 = ((($0)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = ((($0)) + 16|0); + $93 = HEAP32[$92>>2]|0; + $94 = ((($0)) + 24|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($0)) + 32|0); + $97 = HEAP32[$96>>2]|0; + FUNCTION_TABLE_viii[$91 & 31]($93,$95,$97); + break; + } + case 2048: { + $98 = ((($0)) + 4|0); + $99 = HEAP32[$98>>2]|0; + $100 = (FUNCTION_TABLE_i[$99 & 3]()|0); + $101 = ((($0)) + 80|0); + HEAP32[$101>>2] = $100; + break; + } + case 2049: { + $102 = ((($0)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ((($0)) + 16|0); + $105 = HEAP32[$104>>2]|0; + $106 = (FUNCTION_TABLE_ii[$103 & 15]($105)|0); + $107 = ((($0)) + 80|0); + HEAP32[$107>>2] = $106; + break; + } + case 2050: { + $108 = ((($0)) + 4|0); + $109 = HEAP32[$108>>2]|0; + $110 = ((($0)) + 16|0); + $111 = HEAP32[$110>>2]|0; + $112 = ((($0)) + 24|0); + $113 = HEAP32[$112>>2]|0; + $114 = (FUNCTION_TABLE_iii[$109 & 3]($111,$113)|0); + $115 = ((($0)) + 80|0); + HEAP32[$115>>2] = $114; + break; + } + case 2051: { + $116 = ((($0)) + 4|0); + $117 = HEAP32[$116>>2]|0; + $118 = ((($0)) + 16|0); + $119 = HEAP32[$118>>2]|0; + $120 = ((($0)) + 24|0); + $121 = HEAP32[$120>>2]|0; + $122 = ((($0)) + 32|0); + $123 = HEAP32[$122>>2]|0; + $124 = (FUNCTION_TABLE_iiii[$117 & 15]($119,$121,$123)|0); + $125 = ((($0)) + 80|0); + HEAP32[$125>>2] = $124; + break; + } + default: { + ___assert_fail((13804|0),(13696|0),211,(13855|0)); + // unreachable; + } + } } while(0); - STACKTOP = sp;return ($$3|0); + $126 = ((($0)) + 88|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)==(0); + if ($128) { + $129 = ((($0)) + 8|0); + HEAP32[$129>>2] = 1; + (_emscripten_futex_wake(($129|0),2147483647)|0); + return; + } else { + _free($0); + return; + } } -function _strspn($0,$1) { +function ___pthread_mutex_unlock($0) { $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; + var $$0 = 0, $$045 = 0, $$pre = 0, $$pre$phiZ2D = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 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; - } + $1 = ((($0)) + 8|0); + $2 = (Atomics_load(HEAP32,$1>>2)|0); + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 15; + $5 = $3 & 128; + $6 = $5 ^ 128; + $7 = ($4|0)==(0); + if ($7) { + $$pre = ((($0)) + 4|0); + $$045 = 0;$$pre$phiZ2D = $$pre; + } else { + $8 = (_pthread_self()|0); + $9 = ((($0)) + 4|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = $10 & 2147483647; + $12 = ((($8)) + 52|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)==($13|0); + if (!($14)) { + $$0 = 1; + return ($$0|0); + } + $15 = $3 & 3; + $16 = ($15|0)==(1); + if ($16) { + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + $20 = (($18) + -1)|0; + HEAP32[$17>>2] = $20; + $$0 = 0; + return ($$0|0); } - $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); + $21 = ($6|0)==(0); + $22 = ((($0)) + 16|0); + if ($21) { + $23 = ((($8)) + 176|0); + Atomics_store(HEAP32,$23>>2,$22)|0; + ___vm_lock(); + } + $24 = ((($0)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$22>>2]|0; + Atomics_store(HEAP32,$25>>2,$26)|0; + $27 = ((($8)) + 168|0); + $28 = ($26|0)==($27|0); + if ($28) { + $$045 = $8;$$pre$phiZ2D = $9; + } else { + $29 = ((($26)) + -4|0); + Atomics_store(HEAP32,$29>>2,$25)|0; + $$045 = $8;$$pre$phiZ2D = $9; + } + } + $30 = $3 & 8; + $31 = ($30|0)!=(0); + $32 = $31 ? 2147483647 : 0; + while(1) { + $33 = (Atomics_load(HEAP32, $$pre$phiZ2D>>2)|0); + $34 = (Atomics_compareExchange(HEAP32, $$pre$phiZ2D>>2, $33, $32)|0); + $35 = ($34|0)==($33|0); + if ($35) { + break; + } + } + $36 = ($6|0)!=(0); + $or$cond = $7 | $36; + if (!($or$cond)) { + $37 = ((($$045)) + 176|0); + Atomics_store(HEAP32,$37>>2,0)|0; + ___vm_unlock(); + } + $38 = ($2|0)!=(0); + $39 = ($33|0)<(0); + $or$cond3 = $38 | $39; + if (!($or$cond3)) { + $$0 = 0; + return ($$0|0); + } + (_emscripten_futex_wake(($$pre$phiZ2D|0),1)|0); + $$0 = 0; + return ($$0|0); } -function _srand($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function ___vm_lock() { + var $0 = 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; + $0 = (Atomics_add(HEAP32, 8591, 1)|0); return; } -function _vprintf($0,$1) { +function ___vm_unlock() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8591, -1)|0); + $1 = ($0|0)==(1); + if (!($1)) { + return; + } + $2 = (Atomics_load(HEAP32,(34368)>>2)|0); + $3 = ($2|0)==(0); + if ($3) { + return; + } + (_emscripten_futex_wake((34364|0),2147483647)|0); + return; +} +function ___pthread_mutex_lock($0) { $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[806]|0; - $3 = (_vfprintf($2,$0,$1)|0); - return ($3|0); + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = ($5|0)==(0); + if ($6) { + $$0 = 0; + return ($$0|0); + } + } + $7 = (___pthread_mutex_timedlock($0,0)|0); + $$0 = $7; + return ($$0|0); } -function _strcspn($0,$1) { +function ___pthread_mutex_timedlock($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; + var $$0 = 0, $$2 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond40 = 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 { + $2 = HEAP32[$0>>2]|0; + $3 = $2 & 15; + $4 = ($3|0)==(0); + do { if ($4) { - label = 3; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); + $5 = ((($0)) + 4|0); + $6 = (Atomics_compareExchange(HEAP32, $5>>2, 0, 16)|0); + $7 = ($6|0)==(0); if ($7) { - label = 3; + $$2 = 0; + return ($$2|0); } 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) { + $$pre = HEAP32[$0>>2]|0; + $9 = $$pre; + break; + } + } else { + $9 = $2; + } + } while(0); + $8 = $9 & 128; + $10 = $8 ^ 128; + $11 = (___pthread_mutex_trylock($0)|0); + $12 = ($11|0)==(16); + if (!($12)) { + $$2 = $11; + return ($$2|0); + } + $13 = ((($0)) + 4|0); + $14 = ((($0)) + 8|0); + $$0 = 100; + while(1) { + $15 = (($$0) + -1)|0; + $16 = ($$0|0)==(0); + if ($16) { + break; + } + $17 = (Atomics_load(HEAP32,$13>>2)|0); + $18 = ($17|0)==(0); + if ($18) { + break; + } + $19 = (Atomics_load(HEAP32,$14>>2)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = $15; + } else { + break; + } + } + $21 = (___pthread_mutex_trylock($0)|0); + $22 = ($21|0)==(16); + if (!($22)) { + $$2 = $21; + return ($$2|0); + } + L18: while(1) { + $23 = (Atomics_load(HEAP32,$13>>2)|0); + $24 = ($23|0)==(0); + if (!($24)) { + $27 = $23 & 1073741824; + $28 = ($27|0)==(0); + $29 = HEAP32[$0>>2]|0; + $30 = $29 & 4; + $31 = ($30|0)==(0); + $or$cond40 = $28 | $31; + if ($or$cond40) { + $32 = $29 & 3; + $33 = ($32|0)==(2); + if ($33) { + $34 = $23 & 2147483647; + $35 = (_pthread_self()|0); + $36 = ((($35)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($34|0)==($37|0); + if ($38) { + $$2 = 35; + label = 17; 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; - } - } + $39 = (Atomics_add(HEAP32, $14>>2, 1)|0); + $40 = $23 | -2147483648; + $41 = (Atomics_compareExchange(HEAP32, $13>>2, $23, $40)|0); + $42 = (___timedwait($13,$40,0,$1,$10)|0); + $43 = (Atomics_sub(HEAP32, $14>>2, 1)|0); + switch ($42|0) { + case 0: case 4: { + break; + } + default: { + $$2 = $42; + label = 17; + break L18; + } } } } - } while(0); - if ((label|0) == 3) { - $8 = $3 << 24 >> 24; - $9 = (___strchrnul($0,$8)|0); - $$019$sink = $9; + $25 = (___pthread_mutex_trylock($0)|0); + $26 = ($25|0)==(16); + if (!($26)) { + $$2 = $25; + label = 17; + break; + } } - $35 = $$019$sink; - $36 = $0; - $37 = (($35) - ($36))|0; - STACKTOP = sp;return ($37|0); + if ((label|0) == 17) { + return ($$2|0); + } + return (0)|0; } -function _strcat($0,$1) { +function ___timedwait($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $5 = 0, $6 = 0, $7 = 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) { + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + (___pthread_setcancelstate(1,($5|0))|0); + _emscripten_conditional_set_current_thread_status(1,4); + $6 = (___timedwait_cp($0,$1,$2,$3,$4)|0); + _emscripten_conditional_set_current_thread_status(4,1); + $7 = HEAP32[$5>>2]|0; + (___pthread_setcancelstate(($7|0),(0|0))|0); + STACKTOP = sp;return ($6|0); +} +function ___timedwait_cp($0,$1,$2,$3,$4) { $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; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$$0$us = 0.0, $$$045 = 0.0, $$$046$us = 0.0, $$0$us = 0.0, $$0$us53 = 0.0, $$138 = 0, $$138$ph = 0, $$138$ph70 = 0, $$138$ph72 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 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; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + $6 = ($3|0)!=(0|0); + if ($6) { + $7 = ((($3)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8>>>0)>(999999999); + if ($9) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $10 = (___clock_gettime(($2|0),($5|0))|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = (($12) - ($13))|0; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ((($5)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($15) - ($17))|0; + HEAP32[$16>>2] = $18; + $19 = ($18|0)<(0); + if ($19) { + $20 = (($14) + -1)|0; + HEAP32[$5>>2] = $20; + $21 = (($18) + 1000000000)|0; + HEAP32[$16>>2] = $21; + $23 = $20; } else { - $$010 = $3; - label = 3; + $23 = $14; + } + $22 = ($23|0)<(0); + if ($22) { + $$138 = 110; + STACKTOP = sp;return ($$138|0); } - } 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; + $24 = (_emscripten_is_main_runtime_thread()|0); + $25 = ($24|0)!=(0); + $$$045 = $25 ? 1.0 : 100.0; + if ($25) { + L15: while(1) { + $26 = (_pthread_self()|0); + $27 = (__pthread_isduecanceled($26)|0); + $28 = ($27|0)==(0); + if (!($28)) { + $$138$ph = 125; 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; + _emscripten_main_thread_process_queued_calls(); + if ($6) { + $29 = (+__pthread_msecs_until($3)); + $30 = !($29 <= 0.0); + $31 = $29 > 100.0; + $$0$us = $31 ? 100.0 : $29; + $32 = $$0$us > 1.0; + $$$0$us = $32 ? 1.0 : $$0$us; + if ($30) { + $$$046$us = $$$0$us; + } else { + $$138$ph = 110; + break; + } } else { - $13 = ((($10)) + 1|0); - HEAP32[8283] = $13; - HEAP8[$10>>0] = 0; - $$0 = $6; + $$$046$us = $$$045; + } + $33 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$046$us))|0); + $34 = (0 - ($33))|0; + switch ($34|0) { + case 110: { break; } + case 4: case 125: { + $$138$ph = $34; + break L15; + break; + } + default: { + $$138 = 0; + label = 21; + break L15; + } + } } - } while(0); - return ($$0|0); + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph; + STACKTOP = sp;return ($$138|0); + } + if (!($6)) { + L27: while(1) { + $43 = (_pthread_self()|0); + $44 = (__pthread_isduecanceled($43)|0); + $45 = ($44|0)==(0); + if (!($45)) { + $$138$ph72 = 125; + break; + } + $46 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$045))|0); + $47 = (0 - ($46))|0; + switch ($47|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph72 = $47; + break L27; + break; + } + default: { + $$138 = 0; + label = 21; + break L27; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph72; + STACKTOP = sp;return ($$138|0); + } + L34: while(1) { + $35 = (_pthread_self()|0); + $36 = (__pthread_isduecanceled($35)|0); + $37 = ($36|0)==(0); + if (!($37)) { + $$138$ph70 = 125; + break; + } + $38 = (+__pthread_msecs_until($3)); + $39 = !($38 <= 0.0); + if (!($39)) { + $$138$ph70 = 110; + break; + } + $40 = $38 > 100.0; + $$0$us53 = $40 ? 100.0 : $38; + $41 = (_emscripten_futex_wait(($0|0),($1|0),(+$$0$us53))|0); + $42 = (0 - ($41))|0; + switch ($42|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph70 = $42; + break L34; + break; + } + default: { + $$138 = 0; + label = 21; + break L34; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph70; + STACKTOP = sp;return ($$138|0); +} +function __pthread_isduecanceled($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(2); + $3 = $2&1; + return ($3|0); +} +function __pthread_msecs_until($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + (_gettimeofday(($1|0),(0|0))|0); + $2 = HEAP32[$1>>2]|0; + $3 = (+($2|0)); + $4 = $3 * 1000.0; + $5 = ((($1)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (+($6|0)); + $8 = $7 * 0.001; + $9 = $4 + $8; + $10 = HEAP32[$0>>2]|0; + $11 = (+($10|0)); + $12 = $11 * 1000.0; + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (+($14|0)); + $16 = $15 * 9.9999999999999995E-7; + $17 = $12 + $16; + $18 = $17 - $9; + STACKTOP = sp;return (+$18); +} +function ___pthread_mutex_trylock($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = $5 & 16; + $$0 = $6; + return ($$0|0); + } else { + $7 = (___pthread_mutex_trylock_owner($0)|0); + $$0 = $7; + return ($$0|0); + } + return (0)|0; +} +function ___pthread_mutex_trylock_owner($0) { + $0 = $0|0; + var $$ = 0, $$1 = 0, $$154 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond57 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_pthread_self()|0); + $3 = ((($2)) + 52|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 4|0); + $6 = (Atomics_load(HEAP32,$5>>2)|0); + $7 = $6 & 2147483647; + $8 = ($7|0)==($4|0); + $9 = $1 & 3; + $10 = ($9|0)==(1); + $or$cond = $10 & $8; + if ($or$cond) { + $11 = ((($0)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)>(2147483646); + if ($13) { + $$1 = 11; + return ($$1|0); + } + $14 = (($12) + 1)|0; + HEAP32[$11>>2] = $14; + $$1 = 0; + return ($$1|0); + } + $15 = ($7|0)==(2147483647); + if ($15) { + $$1 = 131; + return ($$1|0); + } + $16 = HEAP32[$0>>2]|0; + $17 = $16 & 128; + $18 = ($17|0)==(0); + if ($18) { + $$154 = $4; + } else { + $19 = ((($2)) + 172|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + HEAP32[$19>>2] = -12; + } + $22 = ((($0)) + 8|0); + $23 = (Atomics_load(HEAP32,$22>>2)|0); + $24 = ($23|0)==(0); + $25 = $4 | -2147483648; + $$ = $24 ? $4 : $25; + $26 = ((($0)) + 16|0); + $27 = ((($2)) + 176|0); + Atomics_store(HEAP32,$27>>2,$26)|0; + $$154 = $$; + } + $28 = ($7|0)!=(0); + if ($28) { + $29 = $6 & 1073741824; + $30 = ($29|0)==(0); + $31 = $1 & 4; + $32 = ($31|0)==(0); + $or$cond57 = $32 | $30; + if (!($or$cond57)) { + label = 11; + } + } else { + label = 11; + } + if ((label|0) == 11) { + $33 = (Atomics_compareExchange(HEAP32, $5>>2, $6, $$154)|0); + $34 = ($33|0)==($6|0); + if ($34) { + $36 = ((($2)) + 168|0); + $37 = (Atomics_load(HEAP32,$36>>2)|0); + $38 = ((($0)) + 16|0); + HEAP32[$38>>2] = $37; + $39 = ((($0)) + 12|0); + HEAP32[$39>>2] = $36; + $40 = ($37|0)==($36|0); + if (!($40)) { + $41 = ((($37)) + -4|0); + Atomics_store(HEAP32,$41>>2,$38)|0; + } + Atomics_store(HEAP32,$36>>2,$38)|0; + $42 = ((($2)) + 176|0); + Atomics_store(HEAP32,$42>>2,0)|0; + if (!($28)) { + $$1 = 0; + return ($$1|0); + } + $43 = ((($0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = HEAP32[$0>>2]|0; + $45 = $44 | 8; + HEAP32[$0>>2] = $45; + $$1 = 130; + return ($$1|0); + } + } + $35 = ((($2)) + 176|0); + Atomics_store(HEAP32,$35>>2,0)|0; + $$1 = 16; + return ($$1|0); +} +function _pthread_mutexattr_destroy($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function _pthread_mutexattr_init($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$0>>2] = 0; + return 0; +} +function _pthread_mutex_init($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$sroa$0 = sp; + ;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[$$sroa$0+20>>2]=0|0;HEAP32[$$sroa$0+24>>2]=0|0; + ;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;HEAP32[$0+20>>2]=HEAP32[$$sroa$0+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$$sroa$0+24>>2]|0; + $2 = ($1|0)==(0|0); + if ($2) { + STACKTOP = sp;return 0; + } + $3 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $3; + STACKTOP = sp;return 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; + var $$$0192$i = 0, $$$0193$i = 0, $$$4230$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i17$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0198 = 0, $$0200 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024363$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, $$1 = 0, $$1196$i = 0; + var $$1198$i = 0, $$124462$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, $$2 = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i202 = 0, $$3229$i = 0, $$3235$i = 0, $$3350$i = 0; + var $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0, $$4230$i = 0, $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$7$i = 0, $$7239$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i18$i = 0, $$pre$i211 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i19$iZ2D = 0; + var $$pre$phi$i212Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i205 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0; + var $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $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; + var $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $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; + var $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $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, $1059 = 0, $106 = 0; + var $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0; + var $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 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, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0; + var $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0; + var $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0; + var $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, $618 = 0, $619 = 0, $62 = 0, $620 = 0; + var $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, $636 = 0, $637 = 0, $638 = 0, $639 = 0; + var $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, $654 = 0, $655 = 0, $656 = 0, $657 = 0; + var $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, $672 = 0, $673 = 0, $674 = 0, $675 = 0; + var $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, $690 = 0, $691 = 0, $692 = 0, $693 = 0; + var $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, $708 = 0, $709 = 0, $71 = 0, $710 = 0; + var $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, $726 = 0, $727 = 0, $728 = 0, $729 = 0; + var $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, $744 = 0, $745 = 0, $746 = 0, $747 = 0; + var $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, $762 = 0, $763 = 0, $764 = 0, $765 = 0; + var $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, $780 = 0, $781 = 0, $782 = 0, $783 = 0; + var $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, $799 = 0, $8 = 0, $80 = 0, $800 = 0; + var $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, $816 = 0, $817 = 0, $818 = 0, $819 = 0; + var $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, $834 = 0, $835 = 0, $836 = 0, $837 = 0; + var $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, $852 = 0, $853 = 0, $854 = 0, $855 = 0; + var $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, $870 = 0, $871 = 0, $872 = 0, $873 = 0; + var $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, $889 = 0, $89 = 0, $890 = 0, $891 = 0; + var $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, $906 = 0, $907 = 0, $908 = 0, $909 = 0; + var $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, $924 = 0, $925 = 0, $926 = 0, $927 = 0; + var $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, $942 = 0, $943 = 0, $944 = 0, $945 = 0; + var $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, $960 = 0, $961 = 0, $962 = 0, $963 = 0; + var $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, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0; + var $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, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0; + var $cond$i$i = 0, $cond$i209 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i21$i = 0, $not$$i210 = 0, $not$1$i = 0, $not$1$i204 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0, $or$cond$i = 0, $or$cond$i213 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond12$i = 0, $or$cond2$i = 0; + var $or$cond2$i214 = 0, $or$cond43$i = 0, $or$cond5$i = 0, $or$cond7$i = 0, $or$cond9$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); + $1 = sp + 4|0; + $2 = sp; + $3 = HEAP32[8849]|0; + $4 = ($3|0)==(0); + if ($4) { + (___pthread_mutex_lock(35420)|0); + $5 = HEAP32[8849]|0; + $6 = ($5|0)==(0); + if ($6) { + HEAP32[(35404)>>2] = 4096; + HEAP32[(35400)>>2] = 4096; + HEAP32[(35408)>>2] = -1; + HEAP32[(35412)>>2] = -1; + HEAP32[(35416)>>2] = 2; + HEAP32[(35892)>>2] = 2; + $7 = (_pthread_mutexattr_init($1)|0); + $8 = ($7|0)==(0); + if ($8) { + $9 = (_pthread_mutex_init((35896),$1)|0); + $10 = ($9|0)==(0); + if ($10) { + } + } + $11 = $2; + $12 = $11 & -16; + $13 = $12 ^ 1431655768; + HEAP32[$2>>2] = $13; + Atomics_store(HEAP32,8849,$13)|0; + } + (___pthread_mutex_unlock(35420)|0); + } + $14 = HEAP32[(35892)>>2]|0; + $15 = $14 & 2; + $16 = ($15|0)==(0); + if (!($16)) { + $17 = (___pthread_mutex_lock((35896))|0); + $18 = ($17|0)==(0); + if (!($18)) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + } + $19 = ($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); + if ($19) { + $20 = ($0>>>0)<(11); + $21 = (($0) + 11)|0; + $22 = $21 & -8; + $23 = $20 ? 16 : $22; + $24 = $23 >>> 3; + $25 = HEAP32[8862]|0; + $26 = $25 >>> $24; + $27 = $26 & 3; + $28 = ($27|0)==(0); + if (!($28)) { + $29 = $26 & 1; + $30 = $29 ^ 1; + $31 = (($30) + ($24))|0; + $32 = $31 << 1; + $33 = (35488 + ($32<<2)|0); + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($33|0)==($37|0); do { - if ($21) { - $22 = 1 << $14; - $23 = $22 ^ -1; - $24 = $8 & $23; - HEAP32[8284] = $24; + if ($38) { + $39 = 1 << $31; + $40 = $39 ^ -1; + $41 = $25 & $40; + HEAP32[8862] = $41; } else { - $25 = HEAP32[(33152)>>2]|0; - $26 = ($20>>>0)<($25>>>0); - if ($26) { + $42 = HEAP32[(35464)>>2]|0; + $43 = ($37>>>0)<($42>>>0); + if ($43) { _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; + $44 = ((($37)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==($35|0); + if ($46) { + HEAP32[$44>>2] = $33; + HEAP32[$34>>2] = $37; break; } else { _abort(); @@ -23873,79 +30170,79 @@ function _malloc($0) { } } } 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); + $47 = $31 << 3; + $48 = $47 | 3; + $49 = ((($35)) + 4|0); + HEAP32[$49>>2] = $48; + $50 = (($35) + ($47)|0); + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = $52 | 1; + HEAP32[$51>>2] = $53; + $$2 = $36; + break; } - $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); + $54 = HEAP32[(35456)>>2]|0; + $55 = ($23>>>0)>($54>>>0); + if ($55) { + $56 = ($26|0)==(0); + if (!($56)) { + $57 = $26 << $24; + $58 = 2 << $24; + $59 = (0 - ($58))|0; + $60 = $58 | $59; + $61 = $57 & $60; + $62 = (0 - ($61))|0; + $63 = $61 & $62; + $64 = (($63) + -1)|0; + $65 = $64 >>> 12; + $66 = $65 & 16; + $67 = $64 >>> $66; + $68 = $67 >>> 5; + $69 = $68 & 8; + $70 = $69 | $66; + $71 = $67 >>> $69; + $72 = $71 >>> 2; + $73 = $72 & 4; + $74 = $70 | $73; + $75 = $71 >>> $73; + $76 = $75 >>> 1; + $77 = $76 & 2; + $78 = $74 | $77; + $79 = $75 >>> $77; + $80 = $79 >>> 1; + $81 = $80 & 1; + $82 = $78 | $81; + $83 = $79 >>> $81; + $84 = (($82) + ($83))|0; + $85 = $84 << 1; + $86 = (35488 + ($85<<2)|0); + $87 = ((($86)) + 8|0); + $88 = HEAP32[$87>>2]|0; + $89 = ((($88)) + 8|0); + $90 = HEAP32[$89>>2]|0; + $91 = ($86|0)==($90|0); do { - if ($74) { - $75 = 1 << $67; - $76 = $75 ^ -1; - $77 = $8 & $76; - HEAP32[8284] = $77; - $98 = $77; + if ($91) { + $92 = 1 << $84; + $93 = $92 ^ -1; + $94 = $25 & $93; + HEAP32[8862] = $94; + $115 = $94; } else { - $78 = HEAP32[(33152)>>2]|0; - $79 = ($73>>>0)<($78>>>0); - if ($79) { + $95 = HEAP32[(35464)>>2]|0; + $96 = ($90>>>0)<($95>>>0); + if ($96) { _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; + $97 = ((($90)) + 12|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==($88|0); + if ($99) { + HEAP32[$97>>2] = $86; + HEAP32[$87>>2] = $90; + $115 = $25; break; } else { _abort(); @@ -23953,178 +30250,179 @@ function _malloc($0) { } } } 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; + $100 = $84 << 3; + $101 = (($100) - ($23))|0; + $102 = $23 | 3; + $103 = ((($88)) + 4|0); + HEAP32[$103>>2] = $102; + $104 = (($88) + ($23)|0); + $105 = $101 | 1; + $106 = ((($104)) + 4|0); + HEAP32[$106>>2] = $105; + $107 = (($104) + ($101)|0); + HEAP32[$107>>2] = $101; + $108 = ($54|0)==(0); + if (!($108)) { + $109 = HEAP32[(35468)>>2]|0; + $110 = $54 >>> 3; + $111 = $110 << 1; + $112 = (35488 + ($111<<2)|0); + $113 = 1 << $110; + $114 = $115 & $113; + $116 = ($114|0)==(0); + if ($116) { + $117 = $115 | $113; + HEAP32[8862] = $117; + $$pre = ((($112)) + 8|0); + $$0200 = $112;$$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) { + $118 = ((($112)) + 8|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[(35464)>>2]|0; + $121 = ($119>>>0)<($120>>>0); + if ($121) { _abort(); // unreachable; } else { - $$0199 = $102;$$pre$phiZ2D = $101; + $$0200 = $119;$$pre$phiZ2D = $118; } } - 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[$$pre$phiZ2D>>2] = $109; + $122 = ((($$0200)) + 12|0); + HEAP32[$122>>2] = $109; + $123 = ((($109)) + 8|0); + HEAP32[$123>>2] = $$0200; + $124 = ((($109)) + 12|0); + HEAP32[$124>>2] = $112; } - 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; + HEAP32[(35456)>>2] = $101; + HEAP32[(35468)>>2] = $104; + $$2 = $89; + break; + } + $125 = HEAP32[(35452)>>2]|0; + $126 = ($125|0)==(0); + if ($126) { + $$0198 = $23; + label = 153; } 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); + $127 = (0 - ($125))|0; + $128 = $125 & $127; + $129 = (($128) + -1)|0; + $130 = $129 >>> 12; + $131 = $130 & 16; + $132 = $129 >>> $131; + $133 = $132 >>> 5; + $134 = $133 & 8; + $135 = $134 | $131; + $136 = $132 >>> $134; + $137 = $136 >>> 2; + $138 = $137 & 4; + $139 = $135 | $138; + $140 = $136 >>> $138; + $141 = $140 >>> 1; + $142 = $141 & 2; + $143 = $139 | $142; + $144 = $140 >>> $142; + $145 = $144 >>> 1; + $146 = $145 & 1; + $147 = $143 | $146; + $148 = $144 >>> $146; + $149 = (($147) + ($148))|0; + $150 = (35752 + ($149<<2)|0); + $151 = HEAP32[$150>>2]|0; + $152 = ((($151)) + 4|0); + $153 = HEAP32[$152>>2]|0; + $154 = $153 & -8; + $155 = (($154) - ($23))|0; + $156 = ((($151)) + 16|0); + $157 = HEAP32[$156>>2]|0; + $not$5$i = ($157|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; + $158 = (((($151)) + 16|0) + ($$sink16$i<<2)|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==(0|0); + if ($160) { + $$0192$lcssa$i = $151;$$0193$lcssa$i = $155; } else { - $$01928$i = $134;$$01937$i = $138;$145 = $142; + $$01928$i = $151;$$01937$i = $155;$162 = $159; 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); + $161 = ((($162)) + 4|0); + $163 = HEAP32[$161>>2]|0; + $164 = $163 & -8; + $165 = (($164) - ($23))|0; + $166 = ($165>>>0)<($$01937$i>>>0); + $$$0193$i = $166 ? $165 : $$01937$i; + $$$0192$i = $166 ? $162 : $$01928$i; + $167 = ((($162)) + 16|0); + $168 = HEAP32[$167>>2]|0; + $not$$i = ($168|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) { + $169 = (((($162)) + 16|0) + ($$sink1$i<<2)|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; break; } else { - $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$162 = $170; } } } - $155 = HEAP32[(33152)>>2]|0; - $156 = ($$0192$lcssa$i>>>0)<($155>>>0); - if ($156) { + $172 = HEAP32[(35464)>>2]|0; + $173 = ($$0192$lcssa$i>>>0)<($172>>>0); + if ($173) { _abort(); // unreachable; } - $157 = (($$0192$lcssa$i) + ($6)|0); - $158 = ($$0192$lcssa$i>>>0)<($157>>>0); - if (!($158)) { + $174 = (($$0192$lcssa$i) + ($23)|0); + $175 = ($$0192$lcssa$i>>>0)<($174>>>0); + if (!($175)) { _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); + $176 = ((($$0192$lcssa$i)) + 24|0); + $177 = HEAP32[$176>>2]|0; + $178 = ((($$0192$lcssa$i)) + 12|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|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) { + if ($180) { + $190 = ((($$0192$lcssa$i)) + 20|0); + $191 = HEAP32[$190>>2]|0; + $192 = ($191|0)==(0|0); + if ($192) { + $193 = ((($$0192$lcssa$i)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $195 = ($194|0)==(0|0); + if ($195) { $$3$i = 0; break; } else { - $$1196$i = $177;$$1198$i = $176; + $$1196$i = $194;$$1198$i = $193; } } else { - $$1196$i = $174;$$1198$i = $173; + $$1196$i = $191;$$1198$i = $190; } 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; + $196 = ((($$1196$i)) + 20|0); + $197 = HEAP32[$196>>2]|0; + $198 = ($197|0)==(0|0); + if (!($198)) { + $$1196$i = $197;$$1198$i = $196; continue; } - $182 = ((($$1196$i)) + 16|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)==(0|0); - if ($184) { + $199 = ((($$1196$i)) + 16|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($200|0)==(0|0); + if ($201) { break; } else { - $$1196$i = $183;$$1198$i = $182; + $$1196$i = $200;$$1198$i = $199; } } - $185 = ($$1198$i>>>0)<($155>>>0); - if ($185) { + $202 = ($$1198$i>>>0)<($172>>>0); + if ($202) { _abort(); // unreachable; } else { @@ -24133,27 +30431,27 @@ function _malloc($0) { break; } } else { - $164 = ((($$0192$lcssa$i)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165>>>0)<($155>>>0); - if ($166) { + $181 = ((($$0192$lcssa$i)) + 8|0); + $182 = HEAP32[$181>>2]|0; + $183 = ($182>>>0)<($172>>>0); + if ($183) { _abort(); // unreachable; } - $167 = ((($165)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==($$0192$lcssa$i|0); - if (!($169)) { + $184 = ((($182)) + 12|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($185|0)==($$0192$lcssa$i|0); + if (!($186)) { _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; + $187 = ((($179)) + 8|0); + $188 = HEAP32[$187>>2]|0; + $189 = ($188|0)==($$0192$lcssa$i|0); + if ($189) { + HEAP32[$184>>2] = $179; + HEAP32[$187>>2] = $182; + $$3$i = $179; break; } else { _abort(); @@ -24161,397 +30459,401 @@ function _malloc($0) { } } } 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); + $203 = ($177|0)==(0|0); + L85: do { + if (!($203)) { + $204 = ((($$0192$lcssa$i)) + 28|0); + $205 = HEAP32[$204>>2]|0; + $206 = (35752 + ($205<<2)|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($$0192$lcssa$i|0)==($207|0); do { - if ($191) { - HEAP32[$189>>2] = $$3$i; + if ($208) { + HEAP32[$206>>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; + $209 = 1 << $205; + $210 = $209 ^ -1; + $211 = $125 & $210; + HEAP32[(35452)>>2] = $211; + break L85; } } else { - $195 = HEAP32[(33152)>>2]|0; - $196 = ($160>>>0)<($195>>>0); - if ($196) { + $212 = HEAP32[(35464)>>2]|0; + $213 = ($177>>>0)<($212>>>0); + if ($213) { _abort(); // unreachable; } else { - $197 = ((($160)) + 16|0); - $198 = HEAP32[$197>>2]|0; - $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $214 = ((($177)) + 16|0); + $215 = HEAP32[$214>>2]|0; + $not$1$i = ($215|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; + $216 = (((($177)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$216>>2] = $$3$i; + $217 = ($$3$i|0)==(0|0); + if ($217) { + break L85; } else { break; } } } } while(0); - $201 = HEAP32[(33152)>>2]|0; - $202 = ($$3$i>>>0)<($201>>>0); - if ($202) { + $218 = HEAP32[(35464)>>2]|0; + $219 = ($$3$i>>>0)<($218>>>0); + if ($219) { _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); + $220 = ((($$3$i)) + 24|0); + HEAP32[$220>>2] = $177; + $221 = ((($$0192$lcssa$i)) + 16|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); do { - if (!($206)) { - $207 = ($205>>>0)<($201>>>0); - if ($207) { + if (!($223)) { + $224 = ($222>>>0)<($218>>>0); + if ($224) { _abort(); // unreachable; } else { - $208 = ((($$3$i)) + 16|0); - HEAP32[$208>>2] = $205; - $209 = ((($205)) + 24|0); - HEAP32[$209>>2] = $$3$i; + $225 = ((($$3$i)) + 16|0); + HEAP32[$225>>2] = $222; + $226 = ((($222)) + 24|0); + HEAP32[$226>>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) { + $227 = ((($$0192$lcssa$i)) + 20|0); + $228 = HEAP32[$227>>2]|0; + $229 = ($228|0)==(0|0); + if (!($229)) { + $230 = HEAP32[(35464)>>2]|0; + $231 = ($228>>>0)<($230>>>0); + if ($231) { _abort(); // unreachable; } else { - $215 = ((($$3$i)) + 20|0); - HEAP32[$215>>2] = $211; - $216 = ((($211)) + 24|0); - HEAP32[$216>>2] = $$3$i; + $232 = ((($$3$i)) + 20|0); + HEAP32[$232>>2] = $228; + $233 = ((($228)) + 24|0); + HEAP32[$233>>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; + $234 = ($$0193$lcssa$i>>>0)<(16); + if ($234) { + $235 = (($$0193$lcssa$i) + ($23))|0; + $236 = $235 | 3; + $237 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$237>>2] = $236; + $238 = (($$0192$lcssa$i) + ($235)|0); + $239 = ((($238)) + 4|0); + $240 = HEAP32[$239>>2]|0; + $241 = $240 | 1; + HEAP32[$239>>2] = $241; } 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; + $242 = $23 | 3; + $243 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$243>>2] = $242; + $244 = $$0193$lcssa$i | 1; + $245 = ((($174)) + 4|0); + HEAP32[$245>>2] = $244; + $246 = (($174) + ($$0193$lcssa$i)|0); + HEAP32[$246>>2] = $$0193$lcssa$i; + $247 = ($54|0)==(0); + if (!($247)) { + $248 = HEAP32[(35468)>>2]|0; + $249 = $54 >>> 3; + $250 = $249 << 1; + $251 = (35488 + ($250<<2)|0); + $252 = 1 << $249; + $253 = $25 & $252; + $254 = ($253|0)==(0); + if ($254) { + $255 = $25 | $252; + HEAP32[8862] = $255; + $$pre$i = ((($251)) + 8|0); + $$0189$i = $251;$$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) { + $256 = ((($251)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = HEAP32[(35464)>>2]|0; + $259 = ($257>>>0)<($258>>>0); + if ($259) { _abort(); // unreachable; } else { - $$0189$i = $240;$$pre$phi$iZ2D = $239; + $$0189$i = $257;$$pre$phi$iZ2D = $256; } } - 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; + HEAP32[$$pre$phi$iZ2D>>2] = $248; + $260 = ((($$0189$i)) + 12|0); + HEAP32[$260>>2] = $248; + $261 = ((($248)) + 8|0); + HEAP32[$261>>2] = $$0189$i; + $262 = ((($248)) + 12|0); + HEAP32[$262>>2] = $251; + } + HEAP32[(35456)>>2] = $$0193$lcssa$i; + HEAP32[(35468)>>2] = $174; } - $246 = ((($$0192$lcssa$i)) + 8|0); - $$0 = $246; - STACKTOP = sp;return ($$0|0); + $263 = ((($$0192$lcssa$i)) + 8|0); + $$2 = $263; } } else { - $$0197 = $6; + $$0198 = $23; + label = 153; } } else { - $247 = ($0>>>0)>(4294967231); - if ($247) { - $$0197 = -1; + $264 = ($0>>>0)>(4294967231); + if ($264) { + $$0198 = -1; + label = 153; } else { - $248 = (($0) + 11)|0; - $249 = $248 & -8; - $250 = HEAP32[(33140)>>2]|0; - $251 = ($250|0)==(0); - if ($251) { - $$0197 = $249; + $265 = (($0) + 11)|0; + $266 = $265 & -8; + $267 = HEAP32[(35452)>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$0198 = $266; + label = 153; } else { - $252 = (0 - ($249))|0; - $253 = $248 >>> 8; - $254 = ($253|0)==(0); - if ($254) { + $269 = (0 - ($266))|0; + $270 = $265 >>> 8; + $271 = ($270|0)==(0); + if ($271) { $$0358$i = 0; } else { - $255 = ($249>>>0)>(16777215); - if ($255) { + $272 = ($266>>>0)>(16777215); + if ($272) { $$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; + $273 = (($270) + 1048320)|0; + $274 = $273 >>> 16; + $275 = $274 & 8; + $276 = $270 << $275; + $277 = (($276) + 520192)|0; + $278 = $277 >>> 16; + $279 = $278 & 4; + $280 = $279 | $275; + $281 = $276 << $279; + $282 = (($281) + 245760)|0; + $283 = $282 >>> 16; + $284 = $283 & 2; + $285 = $280 | $284; + $286 = (14 - ($285))|0; + $287 = $281 << $284; + $288 = $287 >>> 15; + $289 = (($286) + ($288))|0; + $290 = $289 << 1; + $291 = (($289) + 7)|0; + $292 = $266 >>> $291; + $293 = $292 & 1; + $294 = $293 | $290; + $$0358$i = $294; } } - $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; + $295 = (35752 + ($$0358$i<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($296|0)==(0|0); + L128: do { + if ($297) { + $$2355$i = 0;$$3$i202 = 0;$$3350$i = $269; + label = 90; } 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; + $298 = ($$0358$i|0)==(31); + $299 = $$0358$i >>> 1; + $300 = (25 - ($299))|0; + $301 = $298 ? 0 : $300; + $302 = $266 << $301; + $$0342$i = 0;$$0347$i = $269;$$0353$i = $296;$$0359$i = $302;$$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) { + $303 = ((($$0353$i)) + 4|0); + $304 = HEAP32[$303>>2]|0; + $305 = $304 & -8; + $306 = (($305) - ($266))|0; + $307 = ($306>>>0)<($$0347$i>>>0); + if ($307) { + $308 = ($306|0)==(0); + if ($308) { $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; - label = 85; - break L117; + label = 94; + break L128; } else { - $$1343$i = $$0353$i;$$1348$i = $289; + $$1343$i = $$0353$i;$$1348$i = $306; } } 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; + $309 = ((($$0353$i)) + 20|0); + $310 = HEAP32[$309>>2]|0; + $311 = $$0359$i >>> 31; + $312 = (((($$0353$i)) + 16|0) + ($311<<2)|0); + $313 = HEAP32[$312>>2]|0; + $314 = ($310|0)==(0|0); + $315 = ($310|0)==($313|0); + $or$cond2$i = $314 | $315; + $$1363$i = $or$cond2$i ? $$0362$i : $310; + $316 = ($313|0)==(0|0); + $not$8$i = $316 ^ 1; + $317 = $not$8$i&1; + $$0359$$i = $$0359$i << $317; + if ($316) { + $$2355$i = $$1363$i;$$3$i202 = $$1343$i;$$3350$i = $$1348$i; + label = 90; break; } else { - $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $313;$$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 ((label|0) == 90) { + $318 = ($$2355$i|0)==(0|0); + $319 = ($$3$i202|0)==(0|0); + $or$cond$i = $318 & $319; 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; + $320 = 2 << $$0358$i; + $321 = (0 - ($320))|0; + $322 = $320 | $321; + $323 = $267 & $322; + $324 = ($323|0)==(0); + if ($324) { + $$0198 = $266; + label = 153; 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; + $325 = (0 - ($323))|0; + $326 = $323 & $325; + $327 = (($326) + -1)|0; + $328 = $327 >>> 12; + $329 = $328 & 16; + $330 = $327 >>> $329; + $331 = $330 >>> 5; + $332 = $331 & 8; + $333 = $332 | $329; + $334 = $330 >>> $332; + $335 = $334 >>> 2; + $336 = $335 & 4; + $337 = $333 | $336; + $338 = $334 >>> $336; + $339 = $338 >>> 1; + $340 = $339 & 2; + $341 = $337 | $340; + $342 = $338 >>> $340; + $343 = $342 >>> 1; + $344 = $343 & 1; + $345 = $341 | $344; + $346 = $342 >>> $344; + $347 = (($345) + ($346))|0; + $348 = (35752 + ($347<<2)|0); + $349 = HEAP32[$348>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $349; } else { - $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + $$4$ph$i = $$3$i202;$$4357$ph$i = $$2355$i; } - $333 = ($$4357$ph$i|0)==(0|0); - if ($333) { + $350 = ($$4357$ph$i|0)==(0|0); + if ($350) { $$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; + label = 94; } } - if ((label|0) == 85) { + if ((label|0) == 94) { 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) { + $351 = ((($$435713$i)) + 4|0); + $352 = HEAP32[$351>>2]|0; + $353 = $352 & -8; + $354 = (($353) - ($266))|0; + $355 = ($354>>>0)<($$435114$i>>>0); + $$$4351$i = $355 ? $354 : $$435114$i; + $$4357$$4$i = $355 ? $$435713$i : $$415$i; + $356 = ((($$435713$i)) + 16|0); + $357 = HEAP32[$356>>2]|0; + $not$1$i204 = ($357|0)==(0|0); + $$sink2$i205 = $not$1$i204&1; + $358 = (((($$435713$i)) + 16|0) + ($$sink2$i205<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0|0); + if ($360) { $$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; + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $359; + label = 94; } } } - $344 = ($$4$lcssa$i|0)==(0|0); - if ($344) { - $$0197 = $249; + $361 = ($$4$lcssa$i|0)==(0|0); + if ($361) { + $$0198 = $266; + label = 153; } 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) { + $362 = HEAP32[(35456)>>2]|0; + $363 = (($362) - ($266))|0; + $364 = ($$4351$lcssa$i>>>0)<($363>>>0); + if ($364) { + $365 = HEAP32[(35464)>>2]|0; + $366 = ($$4$lcssa$i>>>0)<($365>>>0); + if ($366) { _abort(); // unreachable; } - $350 = (($$4$lcssa$i) + ($249)|0); - $351 = ($$4$lcssa$i>>>0)<($350>>>0); - if (!($351)) { + $367 = (($$4$lcssa$i) + ($266)|0); + $368 = ($$4$lcssa$i>>>0)<($367>>>0); + if (!($368)) { _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); + $369 = ((($$4$lcssa$i)) + 24|0); + $370 = HEAP32[$369>>2]|0; + $371 = ((($$4$lcssa$i)) + 12|0); + $372 = HEAP32[$371>>2]|0; + $373 = ($372|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) { + if ($373) { + $383 = ((($$4$lcssa$i)) + 20|0); + $384 = HEAP32[$383>>2]|0; + $385 = ($384|0)==(0|0); + if ($385) { + $386 = ((($$4$lcssa$i)) + 16|0); + $387 = HEAP32[$386>>2]|0; + $388 = ($387|0)==(0|0); + if ($388) { $$3372$i = 0; break; } else { - $$1370$i = $370;$$1374$i = $369; + $$1370$i = $387;$$1374$i = $386; } } else { - $$1370$i = $367;$$1374$i = $366; + $$1370$i = $384;$$1374$i = $383; } 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; + $389 = ((($$1370$i)) + 20|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($390|0)==(0|0); + if (!($391)) { + $$1370$i = $390;$$1374$i = $389; continue; } - $375 = ((($$1370$i)) + 16|0); - $376 = HEAP32[$375>>2]|0; - $377 = ($376|0)==(0|0); - if ($377) { + $392 = ((($$1370$i)) + 16|0); + $393 = HEAP32[$392>>2]|0; + $394 = ($393|0)==(0|0); + if ($394) { break; } else { - $$1370$i = $376;$$1374$i = $375; + $$1370$i = $393;$$1374$i = $392; } } - $378 = ($$1374$i>>>0)<($348>>>0); - if ($378) { + $395 = ($$1374$i>>>0)<($365>>>0); + if ($395) { _abort(); // unreachable; } else { @@ -24560,27 +30862,27 @@ function _malloc($0) { break; } } else { - $357 = ((($$4$lcssa$i)) + 8|0); - $358 = HEAP32[$357>>2]|0; - $359 = ($358>>>0)<($348>>>0); - if ($359) { + $374 = ((($$4$lcssa$i)) + 8|0); + $375 = HEAP32[$374>>2]|0; + $376 = ($375>>>0)<($365>>>0); + if ($376) { _abort(); // unreachable; } - $360 = ((($358)) + 12|0); - $361 = HEAP32[$360>>2]|0; - $362 = ($361|0)==($$4$lcssa$i|0); - if (!($362)) { + $377 = ((($375)) + 12|0); + $378 = HEAP32[$377>>2]|0; + $379 = ($378|0)==($$4$lcssa$i|0); + if (!($379)) { _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; + $380 = ((($372)) + 8|0); + $381 = HEAP32[$380>>2]|0; + $382 = ($381|0)==($$4$lcssa$i|0); + if ($382) { + HEAP32[$377>>2] = $372; + HEAP32[$380>>2] = $375; + $$3372$i = $372; break; } else { _abort(); @@ -24588,273 +30890,275 @@ function _malloc($0) { } } } while(0); - $379 = ($353|0)==(0|0); - L164: do { - if ($379) { - $470 = $250; + $396 = ($370|0)==(0|0); + L175: do { + if ($396) { + $487 = $267; } 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); + $397 = ((($$4$lcssa$i)) + 28|0); + $398 = HEAP32[$397>>2]|0; + $399 = (35752 + ($398<<2)|0); + $400 = HEAP32[$399>>2]|0; + $401 = ($$4$lcssa$i|0)==($400|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; + if ($401) { + HEAP32[$399>>2] = $$3372$i; + $cond$i209 = ($$3372$i|0)==(0|0); + if ($cond$i209) { + $402 = 1 << $398; + $403 = $402 ^ -1; + $404 = $267 & $403; + HEAP32[(35452)>>2] = $404; + $487 = $404; + break L175; } } else { - $388 = HEAP32[(33152)>>2]|0; - $389 = ($353>>>0)<($388>>>0); - if ($389) { + $405 = HEAP32[(35464)>>2]|0; + $406 = ($370>>>0)<($405>>>0); + if ($406) { _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; + $407 = ((($370)) + 16|0); + $408 = HEAP32[$407>>2]|0; + $not$$i210 = ($408|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i210&1; + $409 = (((($370)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$409>>2] = $$3372$i; + $410 = ($$3372$i|0)==(0|0); + if ($410) { + $487 = $267; + break L175; } else { break; } } } } while(0); - $394 = HEAP32[(33152)>>2]|0; - $395 = ($$3372$i>>>0)<($394>>>0); - if ($395) { + $411 = HEAP32[(35464)>>2]|0; + $412 = ($$3372$i>>>0)<($411>>>0); + if ($412) { _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); + $413 = ((($$3372$i)) + 24|0); + HEAP32[$413>>2] = $370; + $414 = ((($$4$lcssa$i)) + 16|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($415|0)==(0|0); do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { + if (!($416)) { + $417 = ($415>>>0)<($411>>>0); + if ($417) { _abort(); // unreachable; } else { - $401 = ((($$3372$i)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $$3372$i; + $418 = ((($$3372$i)) + 16|0); + HEAP32[$418>>2] = $415; + $419 = ((($415)) + 24|0); + HEAP32[$419>>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; + $420 = ((($$4$lcssa$i)) + 20|0); + $421 = HEAP32[$420>>2]|0; + $422 = ($421|0)==(0|0); + if ($422) { + $487 = $267; } else { - $406 = HEAP32[(33152)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { + $423 = HEAP32[(35464)>>2]|0; + $424 = ($421>>>0)<($423>>>0); + if ($424) { _abort(); // unreachable; } else { - $408 = ((($$3372$i)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $$3372$i; - $470 = $250; + $425 = ((($$3372$i)) + 20|0); + HEAP32[$425>>2] = $421; + $426 = ((($421)) + 24|0); + HEAP32[$426>>2] = $$3372$i; + $487 = $267; break; } } } } while(0); - $410 = ($$4351$lcssa$i>>>0)<(16); + $427 = ($$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; + if ($427) { + $428 = (($$4351$lcssa$i) + ($266))|0; + $429 = $428 | 3; + $430 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$430>>2] = $429; + $431 = (($$4$lcssa$i) + ($428)|0); + $432 = ((($431)) + 4|0); + $433 = HEAP32[$432>>2]|0; + $434 = $433 | 1; + HEAP32[$432>>2] = $434; } 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) { + $435 = $266 | 3; + $436 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$436>>2] = $435; + $437 = $$4351$lcssa$i | 1; + $438 = ((($367)) + 4|0); + HEAP32[$438>>2] = $437; + $439 = (($367) + ($$4351$lcssa$i)|0); + HEAP32[$439>>2] = $$4351$lcssa$i; + $440 = $$4351$lcssa$i >>> 3; + $441 = ($$4351$lcssa$i>>>0)<(256); + if ($441) { + $442 = $440 << 1; + $443 = (35488 + ($442<<2)|0); + $444 = HEAP32[8862]|0; + $445 = 1 << $440; + $446 = $444 & $445; + $447 = ($446|0)==(0); + do { + if ($447) { + $448 = $444 | $445; + HEAP32[8862] = $448; + $$pre$i211 = ((($443)) + 8|0); + $$0368$i = $443;$$pre$phi$i212Z2D = $$pre$i211; + } else { + $449 = ((($443)) + 8|0); + $450 = HEAP32[$449>>2]|0; + $451 = HEAP32[(35464)>>2]|0; + $452 = ($450>>>0)<($451>>>0); + if (!($452)) { + $$0368$i = $450;$$pre$phi$i212Z2D = $449; + break; + } _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; + } while(0); + HEAP32[$$pre$phi$i212Z2D>>2] = $367; + $453 = ((($$0368$i)) + 12|0); + HEAP32[$453>>2] = $367; + $454 = ((($367)) + 8|0); + HEAP32[$454>>2] = $$0368$i; + $455 = ((($367)) + 12|0); + HEAP32[$455>>2] = $443; break; } - $439 = $$4351$lcssa$i >>> 8; - $440 = ($439|0)==(0); - if ($440) { + $456 = $$4351$lcssa$i >>> 8; + $457 = ($456|0)==(0); + if ($457) { $$0361$i = 0; } else { - $441 = ($$4351$lcssa$i>>>0)>(16777215); - if ($441) { + $458 = ($$4351$lcssa$i>>>0)>(16777215); + if ($458) { $$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; + $459 = (($456) + 1048320)|0; + $460 = $459 >>> 16; + $461 = $460 & 8; + $462 = $456 << $461; + $463 = (($462) + 520192)|0; + $464 = $463 >>> 16; + $465 = $464 & 4; + $466 = $465 | $461; + $467 = $462 << $465; + $468 = (($467) + 245760)|0; + $469 = $468 >>> 16; + $470 = $469 & 2; + $471 = $466 | $470; + $472 = (14 - ($471))|0; + $473 = $467 << $470; + $474 = $473 >>> 15; + $475 = (($472) + ($474))|0; + $476 = $475 << 1; + $477 = (($475) + 7)|0; + $478 = $$4351$lcssa$i >>> $477; + $479 = $478 & 1; + $480 = $479 | $476; + $$0361$i = $480; } } - $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; + $481 = (35752 + ($$0361$i<<2)|0); + $482 = ((($367)) + 28|0); + HEAP32[$482>>2] = $$0361$i; + $483 = ((($367)) + 16|0); + $484 = ((($483)) + 4|0); + HEAP32[$484>>2] = 0; + HEAP32[$483>>2] = 0; + $485 = 1 << $$0361$i; + $486 = $487 & $485; + $488 = ($486|0)==(0); + if ($488) { + $489 = $487 | $485; + HEAP32[(35452)>>2] = $489; + HEAP32[$481>>2] = $367; + $490 = ((($367)) + 24|0); + HEAP32[$490>>2] = $481; + $491 = ((($367)) + 12|0); + HEAP32[$491>>2] = $367; + $492 = ((($367)) + 8|0); + HEAP32[$492>>2] = $367; 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; + $493 = HEAP32[$481>>2]|0; + $494 = ($$0361$i|0)==(31); + $495 = $$0361$i >>> 1; + $496 = (25 - ($495))|0; + $497 = $494 ? 0 : $496; + $498 = $$4351$lcssa$i << $497; + $$0344$i = $498;$$0345$i = $493; 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; + $499 = ((($$0345$i)) + 4|0); + $500 = HEAP32[$499>>2]|0; + $501 = $500 & -8; + $502 = ($501|0)==($$4351$lcssa$i|0); + if ($502) { + label = 148; 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; + $503 = $$0344$i >>> 31; + $504 = (((($$0345$i)) + 16|0) + ($503<<2)|0); + $505 = $$0344$i << 1; + $506 = HEAP32[$504>>2]|0; + $507 = ($506|0)==(0|0); + if ($507) { + label = 145; break; } else { - $$0344$i = $488;$$0345$i = $489; + $$0344$i = $505;$$0345$i = $506; } } - if ((label|0) == 136) { - $491 = HEAP32[(33152)>>2]|0; - $492 = ($487>>>0)<($491>>>0); - if ($492) { + if ((label|0) == 145) { + $508 = HEAP32[(35464)>>2]|0; + $509 = ($504>>>0)<($508>>>0); + if ($509) { _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; + HEAP32[$504>>2] = $367; + $510 = ((($367)) + 24|0); + HEAP32[$510>>2] = $$0345$i; + $511 = ((($367)) + 12|0); + HEAP32[$511>>2] = $367; + $512 = ((($367)) + 8|0); + HEAP32[$512>>2] = $367; 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; + else if ((label|0) == 148) { + $513 = ((($$0345$i)) + 8|0); + $514 = HEAP32[$513>>2]|0; + $515 = HEAP32[(35464)>>2]|0; + $516 = ($514>>>0)>=($515>>>0); + $not$9$i = ($$0345$i>>>0)>=($515>>>0); + $517 = $516 & $not$9$i; + if ($517) { + $518 = ((($514)) + 12|0); + HEAP32[$518>>2] = $367; + HEAP32[$513>>2] = $367; + $519 = ((($367)) + 8|0); + HEAP32[$519>>2] = $514; + $520 = ((($367)) + 12|0); + HEAP32[$520>>2] = $$0345$i; + $521 = ((($367)) + 24|0); + HEAP32[$521>>2] = 0; break; } else { _abort(); @@ -24863,1698 +31167,1461 @@ function _malloc($0) { } } } while(0); - $505 = ((($$4$lcssa$i)) + 8|0); - $$0 = $505; - STACKTOP = sp;return ($$0|0); + $522 = ((($$4$lcssa$i)) + 8|0); + $$2 = $522; } else { - $$0197 = $249; + $$0198 = $266; + label = 153; } } } } } } 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; + L230: do { + if ((label|0) == 153) { + $523 = HEAP32[(35456)>>2]|0; + $524 = ($523>>>0)<($$0198>>>0); + if (!($524)) { + $525 = (($523) - ($$0198))|0; + $526 = HEAP32[(35468)>>2]|0; + $527 = ($525>>>0)>(15); + if ($527) { + $528 = (($526) + ($$0198)|0); + HEAP32[(35468)>>2] = $528; + HEAP32[(35456)>>2] = $525; + $529 = $525 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = (($528) + ($525)|0); + HEAP32[$531>>2] = $525; + $532 = $$0198 | 3; + $533 = ((($526)) + 4|0); + HEAP32[$533>>2] = $532; } 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; - } + HEAP32[(35456)>>2] = 0; + HEAP32[(35468)>>2] = 0; + $534 = $523 | 3; + $535 = ((($526)) + 4|0); + HEAP32[$535>>2] = $534; + $536 = (($526) + ($523)|0); + $537 = ((($536)) + 4|0); + $538 = HEAP32[$537>>2]|0; + $539 = $538 | 1; + HEAP32[$537>>2] = $539; + } + $540 = ((($526)) + 8|0); + $$2 = $540; + break; + } + $541 = HEAP32[(35460)>>2]|0; + $542 = ($541>>>0)>($$0198>>>0); + if ($542) { + $543 = (($541) - ($$0198))|0; + HEAP32[(35460)>>2] = $543; + $544 = HEAP32[(35472)>>2]|0; + $545 = (($544) + ($$0198)|0); + HEAP32[(35472)>>2] = $545; + $546 = $543 | 1; + $547 = ((($545)) + 4|0); + HEAP32[$547>>2] = $546; + $548 = $$0198 | 3; + $549 = ((($544)) + 4|0); + HEAP32[$549>>2] = $548; + $550 = ((($544)) + 8|0); + $$2 = $550; + break; + } + $551 = HEAP32[8849]|0; + $552 = ($551|0)==(0); + if ($552) { + (___pthread_mutex_lock(35420)|0); + $553 = HEAP32[8849]|0; + $554 = ($553|0)==(0); + if ($554) { + HEAP32[(35404)>>2] = 4096; + HEAP32[(35400)>>2] = 4096; + HEAP32[(35408)>>2] = -1; + HEAP32[(35412)>>2] = -1; + HEAP32[(35416)>>2] = 2; + HEAP32[(35892)>>2] = 2; + $555 = (_pthread_mutexattr_init($1)|0); + $556 = ($555|0)==(0); + if ($556) { + $557 = (_pthread_mutex_init((35896),$1)|0); + $558 = ($557|0)==(0); + if ($558) { } - $563 = ((($$0$i$i)) + 8|0); - $564 = HEAP32[$563>>2]|0; - $565 = ($564|0)==(0|0); - if ($565) { - label = 163; - break L246; + } + $559 = $2; + $560 = $559 & -16; + $561 = $560 ^ 1431655768; + HEAP32[$2>>2] = $561; + Atomics_store(HEAP32,8849,$561)|0; + } + (___pthread_mutex_unlock(35420)|0); + } + $562 = (($$0198) + 48)|0; + $563 = HEAP32[(35404)>>2]|0; + $564 = (($$0198) + 47)|0; + $565 = (($563) + ($564))|0; + $566 = (0 - ($563))|0; + $567 = $565 & $566; + $568 = ($567>>>0)>($$0198>>>0); + if ($568) { + $569 = HEAP32[(35888)>>2]|0; + $570 = ($569|0)==(0); + if (!($570)) { + $571 = HEAP32[(35880)>>2]|0; + $572 = (($571) + ($567))|0; + $573 = ($572>>>0)<=($571>>>0); + $574 = ($572>>>0)>($569>>>0); + $or$cond1$i = $573 | $574; + if ($or$cond1$i) { + $$2 = 0; + break; + } + } + $575 = HEAP32[(35892)>>2]|0; + $576 = $575 & 4; + $577 = ($576|0)==(0); + if ($577) { + $578 = HEAP32[(35472)>>2]|0; + $579 = ($578|0)==(0|0); + L258: do { + if ($579) { + label = 176; } else { - $$0$i$i = $564; + $$0$i$i = (35924); + while(1) { + $580 = HEAP32[$$0$i$i>>2]|0; + $581 = ($580>>>0)>($578>>>0); + if (!($581)) { + $582 = ((($$0$i$i)) + 4|0); + $583 = HEAP32[$582>>2]|0; + $584 = (($580) + ($583)|0); + $585 = ($584>>>0)>($578>>>0); + if ($585) { + break; + } + } + $586 = ((($$0$i$i)) + 8|0); + $587 = HEAP32[$586>>2]|0; + $588 = ($587|0)==(0|0); + if ($588) { + label = 176; + break L258; + } else { + $$0$i$i = $587; + } + } + (___pthread_mutex_lock(35420)|0); + $611 = HEAP32[(35460)>>2]|0; + $612 = HEAP32[(35404)>>2]|0; + $613 = (($564) - ($611))|0; + $614 = (($613) + ($612))|0; + $615 = (0 - ($612))|0; + $616 = $614 & $615; + $617 = ($616>>>0)<(2147483647); + if ($617) { + $618 = (_sbrk(($616|0))|0); + $619 = HEAP32[$$0$i$i>>2]|0; + $620 = HEAP32[$582>>2]|0; + $621 = (($619) + ($620)|0); + $622 = ($618|0)==($621|0); + if ($622) { + $623 = ($618|0)==((-1)|0); + if ($623) { + $$2234253237$i = $616; + label = 190; + } else { + $$3229$i = $618;$$3235$i = $616; + } + } else { + $$2247$ph$i = $618;$$2253$ph$i = $616; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } } - } - $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; + } while(0); + do { + if ((label|0) == 176) { + (___pthread_mutex_lock(35420)|0); + $589 = (_sbrk(0)|0); + $590 = ($589|0)==((-1)|0); + if ($590) { + $$2234253237$i = 0; + label = 190; } else { - $$723948$i = $589;$$749$i = $591; - label = 180; - break L244; + $591 = $589; + $592 = HEAP32[(35400)>>2]|0; + $593 = (($592) + -1)|0; + $594 = $593 & $591; + $595 = ($594|0)==(0); + $596 = (($593) + ($591))|0; + $597 = (0 - ($592))|0; + $598 = $596 & $597; + $599 = (($598) - ($591))|0; + $600 = $595 ? 0 : $599; + $$$i = (($600) + ($567))|0; + $601 = HEAP32[(35880)>>2]|0; + $602 = (($$$i) + ($601))|0; + $603 = ($$$i>>>0)>($$0198>>>0); + $604 = ($$$i>>>0)<(2147483647); + $or$cond$i213 = $603 & $604; + if ($or$cond$i213) { + $605 = HEAP32[(35888)>>2]|0; + $606 = ($605|0)==(0); + if (!($606)) { + $607 = ($602>>>0)<=($601>>>0); + $608 = ($602>>>0)>($605>>>0); + $or$cond2$i214 = $607 | $608; + if ($or$cond2$i214) { + $$2234253237$i = 0; + label = 190; + break; + } + } + $609 = (_sbrk(($$$i|0))|0); + $610 = ($609|0)==($589|0); + if ($610) { + $$3229$i = $589;$$3235$i = $$$i; + } else { + $$2247$ph$i = $609;$$2253$ph$i = $$$i; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } } - } 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) { + } while(0); + do { + if ((label|0) == 184) { + $624 = (0 - ($$2253$ph$i))|0; + $625 = ($$2247$ph$i|0)!=((-1)|0); + $626 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $626 & $625; + $627 = ($562>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $627 & $or$cond7$i; + if (!($or$cond10$i)) { + $637 = ($$2247$ph$i|0)==((-1)|0); + if ($637) { $$2234253237$i = 0; + label = 190; + break; + } else { + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; break; } } - $586 = (_sbrk(($$$i|0))|0); - $587 = ($586|0)==($566|0); - if ($587) { - $$723948$i = $$$i;$$749$i = $566; - label = 180; - break L244; + $628 = HEAP32[(35404)>>2]|0; + $629 = (($564) - ($$2253$ph$i))|0; + $630 = (($629) + ($628))|0; + $631 = (0 - ($628))|0; + $632 = $630 & $631; + $633 = ($632>>>0)<(2147483647); + if ($633) { + $634 = (_sbrk(($632|0))|0); + $635 = ($634|0)==((-1)|0); + if ($635) { + (_sbrk(($624|0))|0); + $$2234253237$i = 0; + label = 190; + break; + } else { + $636 = (($632) + ($$2253$ph$i))|0; + $$3229$i = $$2247$ph$i;$$3235$i = $636; + break; + } } else { - $$2247$ph$i = $586;$$2253$ph$i = $$$i; - label = 171; + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; } - } 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; } + } while(0); + if ((label|0) == 190) { + $638 = HEAP32[(35892)>>2]|0; + $639 = $638 | 4; + HEAP32[(35892)>>2] = $639; + $$3229$i = (-1);$$3235$i = $$2234253237$i; } - } - $687 = HEAP32[(33152)>>2]|0; - $688 = ($$749$i>>>0)<($687>>>0); - if ($688) { - HEAP32[(33152)>>2] = $$749$i; - $752 = $$749$i; + (___pthread_mutex_unlock(35420)|0); + $$4230$i = $$3229$i;$$4236$i = $$3235$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; + $$4230$i = (-1);$$4236$i = 0; + } + $640 = ($$4230$i|0)==((-1)|0); + $641 = ($567>>>0)<(2147483647); + $or$cond9$i = $641 & $640; + if ($or$cond9$i) { + (___pthread_mutex_lock(35420)|0); + $642 = (_sbrk(($567|0))|0); + $643 = (_sbrk(0)|0); + (___pthread_mutex_unlock(35420)|0); + $644 = ($642|0)!=((-1)|0); + $645 = ($643|0)!=((-1)|0); + $or$cond5$i = $644 & $645; + $646 = ($642>>>0)<($643>>>0); + $or$cond11$i = $646 & $or$cond5$i; + $647 = $643; + $648 = $642; + $649 = (($647) - ($648))|0; + $650 = (($$0198) + 40)|0; + $651 = ($649>>>0)>($650>>>0); + $$$4236$i = $651 ? $649 : $$4236$i; + $$$4230$i = $651 ? $642 : (-1); + if ($or$cond11$i) { + $$7$i = $$$4230$i;$$7239$i = $$$4236$i; + label = 194; } - } - 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); + } else { + $$7$i = $$4230$i;$$7239$i = $$4236$i; + label = 194; + } + if ((label|0) == 194) { + $652 = ($$7$i|0)==((-1)|0); + if (!($652)) { + $653 = HEAP32[(35880)>>2]|0; + $654 = (($653) + ($$7239$i))|0; + HEAP32[(35880)>>2] = $654; + $655 = HEAP32[(35884)>>2]|0; + $656 = ($654>>>0)>($655>>>0); + if ($656) { + HEAP32[(35884)>>2] = $654; + } + $657 = HEAP32[(35472)>>2]|0; + $658 = ($657|0)==(0|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; + if ($658) { + $659 = HEAP32[(35464)>>2]|0; + $660 = ($659|0)==(0|0); + $661 = ($$7$i>>>0)<($659>>>0); + $or$cond12$i = $660 | $661; + if ($or$cond12$i) { + HEAP32[(35464)>>2] = $$7$i; + } + HEAP32[(35924)>>2] = $$7$i; + HEAP32[(35928)>>2] = $$7239$i; + HEAP32[(35936)>>2] = 0; + $662 = HEAP32[8849]|0; + HEAP32[(35484)>>2] = $662; + HEAP32[(35480)>>2] = -1; + $$01$i$i = 0; + while(1) { + $663 = $$01$i$i << 1; + $664 = (35488 + ($663<<2)|0); + $665 = ((($664)) + 12|0); + HEAP32[$665>>2] = $664; + $666 = ((($664)) + 8|0); + HEAP32[$666>>2] = $664; + $667 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($667|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $667; + } + } + $668 = (($$7239$i) + -40)|0; + $669 = ((($$7$i)) + 8|0); + $670 = $669; + $671 = $670 & 7; + $672 = ($671|0)==(0); + $673 = (0 - ($670))|0; + $674 = $673 & 7; + $675 = $672 ? 0 : $674; + $676 = (($$7$i) + ($675)|0); + $677 = (($668) - ($675))|0; + HEAP32[(35472)>>2] = $676; + HEAP32[(35460)>>2] = $677; + $678 = $677 | 1; + $679 = ((($676)) + 4|0); + HEAP32[$679>>2] = $678; + $680 = (($676) + ($677)|0); + $681 = ((($680)) + 4|0); + HEAP32[$681>>2] = 40; + $682 = HEAP32[(35412)>>2]|0; + HEAP32[(35476)>>2] = $682; } 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; + $$024363$i = (35924); + while(1) { + $683 = HEAP32[$$024363$i>>2]|0; + $684 = ((($$024363$i)) + 4|0); + $685 = HEAP32[$684>>2]|0; + $686 = (($683) + ($685)|0); + $687 = ($$7$i|0)==($686|0); + if ($687) { + label = 205; + break; + } + $688 = ((($$024363$i)) + 8|0); + $689 = HEAP32[$688>>2]|0; + $690 = ($689|0)==(0|0); + if ($690) { + break; + } else { + $$024363$i = $689; + } } - $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; + if ((label|0) == 205) { + $691 = ((($$024363$i)) + 12|0); + $692 = HEAP32[$691>>2]|0; + $693 = $692 & 8; + $694 = ($693|0)==(0); + if ($694) { + $695 = ($657>>>0)>=($683>>>0); + $696 = ($657>>>0)<($$7$i>>>0); + $or$cond43$i = $696 & $695; + if ($or$cond43$i) { + $697 = (($685) + ($$7239$i))|0; + HEAP32[$684>>2] = $697; + $698 = HEAP32[(35460)>>2]|0; + $699 = ((($657)) + 8|0); + $700 = $699; + $701 = $700 & 7; + $702 = ($701|0)==(0); + $703 = (0 - ($700))|0; + $704 = $703 & 7; + $705 = $702 ? 0 : $704; + $706 = (($657) + ($705)|0); + $707 = (($$7239$i) - ($705))|0; + $708 = (($698) + ($707))|0; + HEAP32[(35472)>>2] = $706; + HEAP32[(35460)>>2] = $708; + $709 = $708 | 1; + $710 = ((($706)) + 4|0); + HEAP32[$710>>2] = $709; + $711 = (($706) + ($708)|0); + $712 = ((($711)) + 4|0); + HEAP32[$712>>2] = 40; + $713 = HEAP32[(35412)>>2]|0; + HEAP32[(35476)>>2] = $713; + break; + } + } + } + $714 = HEAP32[(35464)>>2]|0; + $715 = ($$7$i>>>0)<($714>>>0); + if ($715) { + HEAP32[(35464)>>2] = $$7$i; + $779 = $$7$i; + } else { + $779 = $714; + } + $716 = (($$7$i) + ($$7239$i)|0); + $$124462$i = (35924); + while(1) { + $717 = HEAP32[$$124462$i>>2]|0; + $718 = ($717|0)==($716|0); + if ($718) { + label = 213; + break; + } + $719 = ((($$124462$i)) + 8|0); + $720 = HEAP32[$719>>2]|0; + $721 = ($720|0)==(0|0); + if ($721) { + break; + } else { + $$124462$i = $720; + } + } + if ((label|0) == 213) { + $722 = ((($$124462$i)) + 12|0); + $723 = HEAP32[$722>>2]|0; + $724 = $723 & 8; + $725 = ($724|0)==(0); + if ($725) { + HEAP32[$$124462$i>>2] = $$7$i; + $726 = ((($$124462$i)) + 4|0); + $727 = HEAP32[$726>>2]|0; + $728 = (($727) + ($$7239$i))|0; + HEAP32[$726>>2] = $728; + $729 = ((($$7$i)) + 8|0); + $730 = $729; + $731 = $730 & 7; + $732 = ($731|0)==(0); + $733 = (0 - ($730))|0; + $734 = $733 & 7; + $735 = $732 ? 0 : $734; + $736 = (($$7$i) + ($735)|0); + $737 = ((($716)) + 8|0); + $738 = $737; + $739 = $738 & 7; + $740 = ($739|0)==(0); + $741 = (0 - ($738))|0; + $742 = $741 & 7; + $743 = $740 ? 0 : $742; + $744 = (($716) + ($743)|0); + $745 = $744; + $746 = $736; + $747 = (($745) - ($746))|0; + $748 = (($736) + ($$0198)|0); + $749 = (($747) - ($$0198))|0; + $750 = $$0198 | 3; + $751 = ((($736)) + 4|0); + HEAP32[$751>>2] = $750; + $752 = ($744|0)==($657|0); + do { + if ($752) { + $753 = HEAP32[(35460)>>2]|0; + $754 = (($753) + ($749))|0; + HEAP32[(35460)>>2] = $754; + HEAP32[(35472)>>2] = $748; + $755 = $754 | 1; + $756 = ((($748)) + 4|0); + HEAP32[$756>>2] = $755; + } else { + $757 = HEAP32[(35468)>>2]|0; + $758 = ($744|0)==($757|0); + if ($758) { + $759 = HEAP32[(35456)>>2]|0; + $760 = (($759) + ($749))|0; + HEAP32[(35456)>>2] = $760; + HEAP32[(35468)>>2] = $748; + $761 = $760 | 1; + $762 = ((($748)) + 4|0); + HEAP32[$762>>2] = $761; + $763 = (($748) + ($760)|0); + HEAP32[$763>>2] = $760; + break; } - } 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; + $764 = ((($744)) + 4|0); + $765 = HEAP32[$764>>2]|0; + $766 = $765 & 3; + $767 = ($766|0)==(1); + if ($767) { + $768 = $765 & -8; + $769 = $765 >>> 3; + $770 = ($765>>>0)<(256); + L329: do { + if ($770) { + $771 = ((($744)) + 8|0); + $772 = HEAP32[$771>>2]|0; + $773 = ((($744)) + 12|0); + $774 = HEAP32[$773>>2]|0; + $775 = $769 << 1; + $776 = (35488 + ($775<<2)|0); + $777 = ($772|0)==($776|0); + do { + if (!($777)) { + $778 = ($772>>>0)<($779>>>0); + if ($778) { + _abort(); + // unreachable; + } + $780 = ((($772)) + 12|0); + $781 = HEAP32[$780>>2]|0; + $782 = ($781|0)==($744|0); + if ($782) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $783 = ($774|0)==($772|0); + if ($783) { + $784 = 1 << $769; + $785 = $784 ^ -1; + $786 = HEAP32[8862]|0; + $787 = $786 & $785; + HEAP32[8862] = $787; + break; + } + $788 = ($774|0)==($776|0); + do { + if ($788) { + $$pre10$i$i = ((($774)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $789 = ($774>>>0)<($779>>>0); + if ($789) { + _abort(); + // unreachable; + } + $790 = ((($774)) + 8|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==($744|0); + if ($792) { + $$pre$phi11$i$iZ2D = $790; + break; + } + _abort(); + // unreachable; + } + } while(0); + $793 = ((($772)) + 12|0); + HEAP32[$793>>2] = $774; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $772; + } else { + $794 = ((($744)) + 24|0); + $795 = HEAP32[$794>>2]|0; + $796 = ((($744)) + 12|0); + $797 = HEAP32[$796>>2]|0; + $798 = ($797|0)==($744|0); + do { + if ($798) { + $808 = ((($744)) + 16|0); + $809 = ((($808)) + 4|0); + $810 = HEAP32[$809>>2]|0; + $811 = ($810|0)==(0|0); + if ($811) { + $812 = HEAP32[$808>>2]|0; + $813 = ($812|0)==(0|0); + if ($813) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $812;$$1293$i$i = $808; + } + } else { + $$1291$i$i = $810;$$1293$i$i = $809; + } + while(1) { + $814 = ((($$1291$i$i)) + 20|0); + $815 = HEAP32[$814>>2]|0; + $816 = ($815|0)==(0|0); + if (!($816)) { + $$1291$i$i = $815;$$1293$i$i = $814; + continue; + } + $817 = ((($$1291$i$i)) + 16|0); + $818 = HEAP32[$817>>2]|0; + $819 = ($818|0)==(0|0); + if ($819) { + break; + } else { + $$1291$i$i = $818;$$1293$i$i = $817; + } + } + $820 = ($$1293$i$i>>>0)<($779>>>0); + if ($820) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $799 = ((($744)) + 8|0); + $800 = HEAP32[$799>>2]|0; + $801 = ($800>>>0)<($779>>>0); + if ($801) { + _abort(); + // unreachable; + } + $802 = ((($800)) + 12|0); + $803 = HEAP32[$802>>2]|0; + $804 = ($803|0)==($744|0); + if (!($804)) { + _abort(); + // unreachable; + } + $805 = ((($797)) + 8|0); + $806 = HEAP32[$805>>2]|0; + $807 = ($806|0)==($744|0); + if ($807) { + HEAP32[$802>>2] = $797; + HEAP32[$805>>2] = $800; + $$3$i$i = $797; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $821 = ($795|0)==(0|0); + if ($821) { + break; + } + $822 = ((($744)) + 28|0); + $823 = HEAP32[$822>>2]|0; + $824 = (35752 + ($823<<2)|0); + $825 = HEAP32[$824>>2]|0; + $826 = ($744|0)==($825|0); + do { + if ($826) { + HEAP32[$824>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $827 = 1 << $823; + $828 = $827 ^ -1; + $829 = HEAP32[(35452)>>2]|0; + $830 = $829 & $828; + HEAP32[(35452)>>2] = $830; + break L329; + } else { + $831 = HEAP32[(35464)>>2]|0; + $832 = ($795>>>0)<($831>>>0); + if ($832) { + _abort(); + // unreachable; + } else { + $833 = ((($795)) + 16|0); + $834 = HEAP32[$833>>2]|0; + $not$$i$i = ($834|0)!=($744|0); + $$sink1$i$i = $not$$i$i&1; + $835 = (((($795)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$835>>2] = $$3$i$i; + $836 = ($$3$i$i|0)==(0|0); + if ($836) { + break L329; + } else { + break; + } + } + } + } while(0); + $837 = HEAP32[(35464)>>2]|0; + $838 = ($$3$i$i>>>0)<($837>>>0); + if ($838) { + _abort(); + // unreachable; + } + $839 = ((($$3$i$i)) + 24|0); + HEAP32[$839>>2] = $795; + $840 = ((($744)) + 16|0); + $841 = HEAP32[$840>>2]|0; + $842 = ($841|0)==(0|0); + do { + if (!($842)) { + $843 = ($841>>>0)<($837>>>0); + if ($843) { + _abort(); + // unreachable; + } else { + $844 = ((($$3$i$i)) + 16|0); + HEAP32[$844>>2] = $841; + $845 = ((($841)) + 24|0); + HEAP32[$845>>2] = $$3$i$i; + break; + } + } + } while(0); + $846 = ((($840)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = ($847|0)==(0|0); + if ($848) { + break; + } + $849 = HEAP32[(35464)>>2]|0; + $850 = ($847>>>0)<($849>>>0); + if ($850) { + _abort(); + // unreachable; + } else { + $851 = ((($$3$i$i)) + 20|0); + HEAP32[$851>>2] = $847; + $852 = ((($847)) + 24|0); + HEAP32[$852>>2] = $$3$i$i; + break; + } + } + } while(0); + $853 = (($744) + ($768)|0); + $854 = (($768) + ($749))|0; + $$0$i17$i = $853;$$0287$i$i = $854; } 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; + $$0$i17$i = $744;$$0287$i$i = $749; } - } 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; + $855 = ((($$0$i17$i)) + 4|0); + $856 = HEAP32[$855>>2]|0; + $857 = $856 & -2; + HEAP32[$855>>2] = $857; + $858 = $$0287$i$i | 1; + $859 = ((($748)) + 4|0); + HEAP32[$859>>2] = $858; + $860 = (($748) + ($$0287$i$i)|0); + HEAP32[$860>>2] = $$0287$i$i; + $861 = $$0287$i$i >>> 3; + $862 = ($$0287$i$i>>>0)<(256); + if ($862) { + $863 = $861 << 1; + $864 = (35488 + ($863<<2)|0); + $865 = HEAP32[8862]|0; + $866 = 1 << $861; + $867 = $865 & $866; + $868 = ($867|0)==(0); + do { + if ($868) { + $869 = $865 | $866; + HEAP32[8862] = $869; + $$pre$i$i = ((($864)) + 8|0); + $$0295$i$i = $864;$$pre$phi$i$iZ2D = $$pre$i$i; } else { - $$1291$i$i = $785;$$1293$i$i = $781; + $870 = ((($864)) + 8|0); + $871 = HEAP32[$870>>2]|0; + $872 = HEAP32[(35464)>>2]|0; + $873 = ($871>>>0)<($872>>>0); + if (!($873)) { + $$0295$i$i = $871;$$pre$phi$i$iZ2D = $870; + break; + } + _abort(); + // unreachable; } + } while(0); + HEAP32[$$pre$phi$i$iZ2D>>2] = $748; + $874 = ((($$0295$i$i)) + 12|0); + HEAP32[$874>>2] = $748; + $875 = ((($748)) + 8|0); + HEAP32[$875>>2] = $$0295$i$i; + $876 = ((($748)) + 12|0); + HEAP32[$876>>2] = $864; + break; + } + $877 = $$0287$i$i >>> 8; + $878 = ($877|0)==(0); + do { + if ($878) { + $$0296$i$i = 0; } 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) { + $879 = ($$0287$i$i>>>0)>(16777215); + if ($879) { + $$0296$i$i = 31; break; - } else { - $$1291$i$i = $791;$$1293$i$i = $790; } + $880 = (($877) + 1048320)|0; + $881 = $880 >>> 16; + $882 = $881 & 8; + $883 = $877 << $882; + $884 = (($883) + 520192)|0; + $885 = $884 >>> 16; + $886 = $885 & 4; + $887 = $886 | $882; + $888 = $883 << $886; + $889 = (($888) + 245760)|0; + $890 = $889 >>> 16; + $891 = $890 & 2; + $892 = $887 | $891; + $893 = (14 - ($892))|0; + $894 = $888 << $891; + $895 = $894 >>> 15; + $896 = (($893) + ($895))|0; + $897 = $896 << 1; + $898 = (($896) + 7)|0; + $899 = $$0287$i$i >>> $898; + $900 = $899 & 1; + $901 = $900 | $897; + $$0296$i$i = $901; } - $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; + } while(0); + $902 = (35752 + ($$0296$i$i<<2)|0); + $903 = ((($748)) + 28|0); + HEAP32[$903>>2] = $$0296$i$i; + $904 = ((($748)) + 16|0); + $905 = ((($904)) + 4|0); + HEAP32[$905>>2] = 0; + HEAP32[$904>>2] = 0; + $906 = HEAP32[(35452)>>2]|0; + $907 = 1 << $$0296$i$i; + $908 = $906 & $907; + $909 = ($908|0)==(0); + if ($909) { + $910 = $906 | $907; + HEAP32[(35452)>>2] = $910; + HEAP32[$902>>2] = $748; + $911 = ((($748)) + 24|0); + HEAP32[$911>>2] = $902; + $912 = ((($748)) + 12|0); + HEAP32[$912>>2] = $748; + $913 = ((($748)) + 8|0); + HEAP32[$913>>2] = $748; + break; + } + $914 = HEAP32[$902>>2]|0; + $915 = ($$0296$i$i|0)==(31); + $916 = $$0296$i$i >>> 1; + $917 = (25 - ($916))|0; + $918 = $915 ? 0 : $917; + $919 = $$0287$i$i << $918; + $$0288$i$i = $919;$$0289$i$i = $914; + while(1) { + $920 = ((($$0289$i$i)) + 4|0); + $921 = HEAP32[$920>>2]|0; + $922 = $921 & -8; + $923 = ($922|0)==($$0287$i$i|0); + if ($923) { + label = 280; + break; } - $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; + $924 = $$0288$i$i >>> 31; + $925 = (((($$0289$i$i)) + 16|0) + ($924<<2)|0); + $926 = $$0288$i$i << 1; + $927 = HEAP32[$925>>2]|0; + $928 = ($927|0)==(0|0); + if ($928) { + label = 277; break; } else { - _abort(); - // unreachable; + $$0288$i$i = $926;$$0289$i$i = $927; } } - } 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) { + if ((label|0) == 277) { + $929 = HEAP32[(35464)>>2]|0; + $930 = ($925>>>0)<($929>>>0); + if ($930) { _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; - } + HEAP32[$925>>2] = $748; + $931 = ((($748)) + 24|0); + HEAP32[$931>>2] = $$0289$i$i; + $932 = ((($748)) + 12|0); + HEAP32[$932>>2] = $748; + $933 = ((($748)) + 8|0); + HEAP32[$933>>2] = $748; + 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) { + else if ((label|0) == 280) { + $934 = ((($$0289$i$i)) + 8|0); + $935 = HEAP32[$934>>2]|0; + $936 = HEAP32[(35464)>>2]|0; + $937 = ($935>>>0)>=($936>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($936>>>0); + $938 = $937 & $not$7$i$i; + if ($938) { + $939 = ((($935)) + 12|0); + HEAP32[$939>>2] = $748; + HEAP32[$934>>2] = $748; + $940 = ((($748)) + 8|0); + HEAP32[$940>>2] = $935; + $941 = ((($748)) + 12|0); + HEAP32[$941>>2] = $$0289$i$i; + $942 = ((($748)) + 24|0); + HEAP32[$942>>2] = 0; + break; + } else { _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; + } while(0); + $1074 = ((($736)) + 8|0); + $$2 = $1074; + break L230; + } } - $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; + $$0$i$i$i = (35924); + while(1) { + $943 = HEAP32[$$0$i$i$i>>2]|0; + $944 = ($943>>>0)>($657>>>0); + if (!($944)) { + $945 = ((($$0$i$i$i)) + 4|0); + $946 = HEAP32[$945>>2]|0; + $947 = (($943) + ($946)|0); + $948 = ($947>>>0)>($657>>>0); + if ($948) { 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; + $949 = ((($$0$i$i$i)) + 8|0); + $950 = HEAP32[$949>>2]|0; + $$0$i$i$i = $950; } - $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; + $951 = ((($947)) + -47|0); + $952 = ((($951)) + 8|0); + $953 = $952; + $954 = $953 & 7; + $955 = ($954|0)==(0); + $956 = (0 - ($953))|0; + $957 = $956 & 7; + $958 = $955 ? 0 : $957; + $959 = (($951) + ($958)|0); + $960 = ((($657)) + 16|0); + $961 = ($959>>>0)<($960>>>0); + $962 = $961 ? $657 : $959; + $963 = ((($962)) + 8|0); + $964 = ((($962)) + 24|0); + $965 = (($$7239$i) + -40)|0; + $966 = ((($$7$i)) + 8|0); + $967 = $966; + $968 = $967 & 7; + $969 = ($968|0)==(0); + $970 = (0 - ($967))|0; + $971 = $970 & 7; + $972 = $969 ? 0 : $971; + $973 = (($$7$i) + ($972)|0); + $974 = (($965) - ($972))|0; + HEAP32[(35472)>>2] = $973; + HEAP32[(35460)>>2] = $974; + $975 = $974 | 1; + $976 = ((($973)) + 4|0); + HEAP32[$976>>2] = $975; + $977 = (($973) + ($974)|0); + $978 = ((($977)) + 4|0); + HEAP32[$978>>2] = 40; + $979 = HEAP32[(35412)>>2]|0; + HEAP32[(35476)>>2] = $979; + $980 = ((($962)) + 4|0); + HEAP32[$980>>2] = 27; + ;HEAP32[$963>>2]=HEAP32[(35924)>>2]|0;HEAP32[$963+4>>2]=HEAP32[(35924)+4>>2]|0;HEAP32[$963+8>>2]=HEAP32[(35924)+8>>2]|0;HEAP32[$963+12>>2]=HEAP32[(35924)+12>>2]|0; + HEAP32[(35924)>>2] = $$7$i; + HEAP32[(35928)>>2] = $$7239$i; + HEAP32[(35936)>>2] = 0; + HEAP32[(35932)>>2] = $963; + $982 = $964; 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; + $981 = ((($982)) + 4|0); + HEAP32[$981>>2] = 7; + $983 = ((($982)) + 8|0); + $984 = ($983>>>0)<($947>>>0); + if ($984) { + $982 = $981; } else { - $$0288$i$i = $899;$$0289$i$i = $900; + break; } } - 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; + $985 = ($962|0)==($657|0); + if (!($985)) { + $986 = $962; + $987 = $657; + $988 = (($986) - ($987))|0; + $989 = HEAP32[$980>>2]|0; + $990 = $989 & -2; + HEAP32[$980>>2] = $990; + $991 = $988 | 1; + $992 = ((($657)) + 4|0); + HEAP32[$992>>2] = $991; + HEAP32[$962>>2] = $988; + $993 = $988 >>> 3; + $994 = ($988>>>0)<(256); + if ($994) { + $995 = $993 << 1; + $996 = (35488 + ($995<<2)|0); + $997 = HEAP32[8862]|0; + $998 = 1 << $993; + $999 = $997 & $998; + $1000 = ($999|0)==(0); + do { + if ($1000) { + $1001 = $997 | $998; + HEAP32[8862] = $1001; + $$pre$i18$i = ((($996)) + 8|0); + $$0211$i$i = $996;$$pre$phi$i19$iZ2D = $$pre$i18$i; + } else { + $1002 = ((($996)) + 8|0); + $1003 = HEAP32[$1002>>2]|0; + $1004 = HEAP32[(35464)>>2]|0; + $1005 = ($1003>>>0)<($1004>>>0); + if (!($1005)) { + $$0211$i$i = $1003;$$pre$phi$i19$iZ2D = $1002; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i19$iZ2D>>2] = $657; + $1006 = ((($$0211$i$i)) + 12|0); + HEAP32[$1006>>2] = $657; + $1007 = ((($657)) + 8|0); + HEAP32[$1007>>2] = $$0211$i$i; + $1008 = ((($657)) + 12|0); + HEAP32[$1008>>2] = $996; 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; + $1009 = $988 >>> 8; + $1010 = ($1009|0)==(0); + do { + if ($1010) { + $$0212$i$i = 0; + } else { + $1011 = ($988>>>0)>(16777215); + if ($1011) { + $$0212$i$i = 31; + break; + } + $1012 = (($1009) + 1048320)|0; + $1013 = $1012 >>> 16; + $1014 = $1013 & 8; + $1015 = $1009 << $1014; + $1016 = (($1015) + 520192)|0; + $1017 = $1016 >>> 16; + $1018 = $1017 & 4; + $1019 = $1018 | $1014; + $1020 = $1015 << $1018; + $1021 = (($1020) + 245760)|0; + $1022 = $1021 >>> 16; + $1023 = $1022 & 2; + $1024 = $1019 | $1023; + $1025 = (14 - ($1024))|0; + $1026 = $1020 << $1023; + $1027 = $1026 >>> 15; + $1028 = (($1025) + ($1027))|0; + $1029 = $1028 << 1; + $1030 = (($1028) + 7)|0; + $1031 = $988 >>> $1030; + $1032 = $1031 & 1; + $1033 = $1032 | $1029; + $$0212$i$i = $1033; + } + } while(0); + $1034 = (35752 + ($$0212$i$i<<2)|0); + $1035 = ((($657)) + 28|0); + HEAP32[$1035>>2] = $$0212$i$i; + $1036 = ((($657)) + 20|0); + HEAP32[$1036>>2] = 0; + HEAP32[$960>>2] = 0; + $1037 = HEAP32[(35452)>>2]|0; + $1038 = 1 << $$0212$i$i; + $1039 = $1037 & $1038; + $1040 = ($1039|0)==(0); + if ($1040) { + $1041 = $1037 | $1038; + HEAP32[(35452)>>2] = $1041; + HEAP32[$1034>>2] = $657; + $1042 = ((($657)) + 24|0); + HEAP32[$1042>>2] = $1034; + $1043 = ((($657)) + 12|0); + HEAP32[$1043>>2] = $657; + $1044 = ((($657)) + 8|0); + HEAP32[$1044>>2] = $657; 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; + $1045 = HEAP32[$1034>>2]|0; + $1046 = ($$0212$i$i|0)==(31); + $1047 = $$0212$i$i >>> 1; + $1048 = (25 - ($1047))|0; + $1049 = $1046 ? 0 : $1048; + $1050 = $988 << $1049; + $$0206$i$i = $1050;$$0207$i$i = $1045; + while(1) { + $1051 = ((($$0207$i$i)) + 4|0); + $1052 = HEAP32[$1051>>2]|0; + $1053 = $1052 & -8; + $1054 = ($1053|0)==($988|0); + if ($1054) { + label = 307; + break; + } + $1055 = $$0206$i$i >>> 31; + $1056 = (((($$0207$i$i)) + 16|0) + ($1055<<2)|0); + $1057 = $$0206$i$i << 1; + $1058 = HEAP32[$1056>>2]|0; + $1059 = ($1058|0)==(0|0); + if ($1059) { + label = 304; + break; + } else { + $$0206$i$i = $1057;$$0207$i$i = $1058; + } + } + if ((label|0) == 304) { + $1060 = HEAP32[(35464)>>2]|0; + $1061 = ($1056>>>0)<($1060>>>0); + if ($1061) { + _abort(); + // unreachable; + } else { + HEAP32[$1056>>2] = $657; + $1062 = ((($657)) + 24|0); + HEAP32[$1062>>2] = $$0207$i$i; + $1063 = ((($657)) + 12|0); + HEAP32[$1063>>2] = $657; + $1064 = ((($657)) + 8|0); + HEAP32[$1064>>2] = $657; + break; + } + } + else if ((label|0) == 307) { + $1065 = ((($$0207$i$i)) + 8|0); + $1066 = HEAP32[$1065>>2]|0; + $1067 = HEAP32[(35464)>>2]|0; + $1068 = ($1066>>>0)>=($1067>>>0); + $not$$i21$i = ($$0207$i$i>>>0)>=($1067>>>0); + $1069 = $1068 & $not$$i21$i; + if ($1069) { + $1070 = ((($1066)) + 12|0); + HEAP32[$1070>>2] = $657; + HEAP32[$1065>>2] = $657; + $1071 = ((($657)) + 8|0); + HEAP32[$1071>>2] = $1066; + $1072 = ((($657)) + 12|0); + HEAP32[$1072>>2] = $$0207$i$i; + $1073 = ((($657)) + 24|0); + HEAP32[$1073>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1075 = HEAP32[(35460)>>2]|0; + $1076 = ($1075>>>0)>($$0198>>>0); + if ($1076) { + $1077 = (($1075) - ($$0198))|0; + HEAP32[(35460)>>2] = $1077; + $1078 = HEAP32[(35472)>>2]|0; + $1079 = (($1078) + ($$0198)|0); + HEAP32[(35472)>>2] = $1079; + $1080 = $1077 | 1; + $1081 = ((($1079)) + 4|0); + HEAP32[$1081>>2] = $1080; + $1082 = $$0198 | 3; + $1083 = ((($1078)) + 4|0); + HEAP32[$1083>>2] = $1082; + $1084 = ((($1078)) + 8|0); + $$2 = $1084; 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; - } } + $1085 = (___errno_location()|0); + HEAP32[$1085>>2] = 12; + $$2 = 0; + } else { + $$2 = 0; } - } else { - $$1 = $2;$$1382 = $9;$113 = $2; } } while(0); - $112 = ($113>>>0)<($10>>>0); - if (!($112)) { + $1086 = HEAP32[(35892)>>2]|0; + $1087 = $1086 & 2; + $1088 = ($1087|0)==(0); + if ($1088) { + $$1 = $$2; + STACKTOP = sp;return ($$1|0); + } + (___pthread_mutex_unlock((35896))|0); + $$1 = $$2; + STACKTOP = sp;return ($$1|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, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 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, $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[(35892)>>2]|0; + $4 = $3 & 2; + $5 = ($4|0)==(0); + if (!($5)) { + $6 = (___pthread_mutex_lock((35896))|0); + $7 = ($6|0)==(0); + if (!($7)) { + return; + } + } + $8 = HEAP32[(35464)>>2]|0; + $9 = ($2>>>0)<($8>>>0); + if ($9) { _abort(); // unreachable; } - $114 = ((($10)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 & 1; - $117 = ($116|0)==(0); - if ($117) { + $10 = ((($0)) + -4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 3; + $13 = ($12|0)==(1); + if ($13) { _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; - } + $14 = $11 & -8; + $15 = (($2) + ($14)|0); + $16 = $11 & 1; + $17 = ($16|0)==(0); + L14: do { + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = ($12|0)==(0); + if (!($19)) { + $20 = (0 - ($18))|0; + $21 = (($2) + ($20)|0); + $22 = (($18) + ($14))|0; + $23 = ($21>>>0)<($8>>>0); + if ($23) { + _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; + $24 = HEAP32[(35468)>>2]|0; + $25 = ($21|0)==($24|0); + if ($25) { + $109 = ((($15)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = $110 & 3; + $112 = ($111|0)==(3); + if (!($112)) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $113 = (($21) + ($22)|0); + $114 = ((($21)) + 4|0); + $115 = $22 | 1; + $116 = $110 & -2; + HEAP32[(35456)>>2] = $22; + HEAP32[$109>>2] = $116; + HEAP32[$114>>2] = $115; + HEAP32[$113>>2] = $22; 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; + $26 = $18 >>> 3; + $27 = ($18>>>0)<(256); + if ($27) { + $28 = ((($21)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($21)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = $26 << 1; + $33 = (35488 + ($32<<2)|0); + $34 = ($29|0)==($33|0); + if (!($34)) { + $35 = ($29>>>0)<($8>>>0); + if ($35) { + _abort(); + // unreachable; + } + $36 = ((($29)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==($21|0); + if (!($38)) { + _abort(); + // unreachable; + } } - $158 = ((($141)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==($10|0); - if ($160) { - $$pre$phi443Z2D = $158; + $39 = ($31|0)==($29|0); + if ($39) { + $40 = 1 << $26; + $41 = $40 ^ -1; + $42 = HEAP32[8862]|0; + $43 = $42 & $41; + HEAP32[8862] = $43; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $44 = ($31|0)==($33|0); + if ($44) { + $$pre444 = ((($31)) + 8|0); + $$pre$phi445Z2D = $$pre444; } else { - _abort(); - // unreachable; + $45 = ($31>>>0)<($8>>>0); + if ($45) { + _abort(); + // unreachable; + } + $46 = ((($31)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==($21|0); + if ($48) { + $$pre$phi445Z2D = $46; + } else { + _abort(); + // unreachable; + } } + $49 = ((($29)) + 12|0); + HEAP32[$49>>2] = $31; + HEAP32[$$pre$phi445Z2D>>2] = $29; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; } - $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); + $50 = ((($21)) + 24|0); + $51 = HEAP32[$50>>2]|0; + $52 = ((($21)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($21|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; + if ($54) { + $64 = ((($21)) + 16|0); + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if ($67) { + $68 = HEAP32[$64>>2]|0; + $69 = ($68|0)==(0|0); + if ($69) { + $$3 = 0; break; } else { - $$1398 = $181;$$1402 = $177; + $$1387 = $68;$$1390 = $64; } } else { - $$1398 = $179;$$1402 = $178; + $$1387 = $66;$$1390 = $65; } while(1) { - $183 = ((($$1398)) + 20|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)==(0|0); - if (!($185)) { - $$1398 = $184;$$1402 = $183; + $70 = ((($$1387)) + 20|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)==(0|0); + if (!($72)) { + $$1387 = $71;$$1390 = $70; continue; } - $186 = ((($$1398)) + 16|0); - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { + $73 = ((($$1387)) + 16|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)==(0|0); + if ($75) { break; } else { - $$1398 = $187;$$1402 = $186; + $$1387 = $74;$$1390 = $73; } } - $189 = HEAP32[(33152)>>2]|0; - $190 = ($$1402>>>0)<($189>>>0); - if ($190) { + $76 = ($$1390>>>0)<($8>>>0); + if ($76) { _abort(); // unreachable; } else { - HEAP32[$$1402>>2] = 0; - $$3400 = $$1398; + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; break; } } else { - $167 = ((($10)) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(33152)>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { + $55 = ((($21)) + 8|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($56>>>0)<($8>>>0); + if ($57) { _abort(); // unreachable; } - $171 = ((($168)) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)==($10|0); - if (!($173)) { + $58 = ((($56)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)==($21|0); + if (!($60)) { _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; + $61 = ((($53)) + 8|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==($21|0); + if ($63) { + HEAP32[$58>>2] = $53; + HEAP32[$61>>2] = $56; + $$3 = $53; break; } else { _abort(); @@ -26562,298 +32629,600 @@ function _free($0) { } } } 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); + $77 = ($51|0)==(0|0); + if ($77) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $78 = ((($21)) + 28|0); + $79 = HEAP32[$78>>2]|0; + $80 = (35752 + ($79<<2)|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($21|0)==($81|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; + if ($82) { + HEAP32[$80>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $83 = 1 << $79; + $84 = $83 ^ -1; + $85 = HEAP32[(35452)>>2]|0; + $86 = $85 & $84; + HEAP32[(35452)>>2] = $86; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; } } else { - $201 = HEAP32[(33152)>>2]|0; - $202 = ($163>>>0)<($201>>>0); - if ($202) { + $87 = HEAP32[(35464)>>2]|0; + $88 = ($51>>>0)<($87>>>0); + if ($88) { _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; + $89 = ((($51)) + 16|0); + $90 = HEAP32[$89>>2]|0; + $not$405 = ($90|0)!=($21|0); + $$sink3 = $not$405&1; + $91 = (((($51)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$91>>2] = $$3; + $92 = ($$3|0)==(0|0); + if ($92) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; } else { break; } } } } while(0); - $207 = HEAP32[(33152)>>2]|0; - $208 = ($$3400>>>0)<($207>>>0); - if ($208) { + $93 = HEAP32[(35464)>>2]|0; + $94 = ($$3>>>0)<($93>>>0); + if ($94) { _abort(); // unreachable; } - $209 = ((($$3400)) + 24|0); - HEAP32[$209>>2] = $163; - $210 = ((($10)) + 16|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); + $95 = ((($$3)) + 24|0); + HEAP32[$95>>2] = $51; + $96 = ((($21)) + 16|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)==(0|0); do { - if (!($212)) { - $213 = ($211>>>0)<($207>>>0); - if ($213) { + if (!($98)) { + $99 = ($97>>>0)<($93>>>0); + if ($99) { _abort(); // unreachable; } else { - $214 = ((($$3400)) + 16|0); - HEAP32[$214>>2] = $211; - $215 = ((($211)) + 24|0); - HEAP32[$215>>2] = $$3400; + $100 = ((($$3)) + 16|0); + HEAP32[$100>>2] = $97; + $101 = ((($97)) + 24|0); + HEAP32[$101>>2] = $$3; 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) { + $102 = ((($96)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)==(0|0); + if ($104) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $105 = HEAP32[(35464)>>2]|0; + $106 = ($103>>>0)<($105>>>0); + if ($106) { _abort(); // unreachable; } else { - $221 = ((($$3400)) + 20|0); - HEAP32[$221>>2] = $217; - $222 = ((($217)) + 24|0); - HEAP32[$222>>2] = $$3400; + $107 = ((($$3)) + 20|0); + HEAP32[$107>>2] = $103; + $108 = ((($103)) + 24|0); + HEAP32[$108>>2] = $$3; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; 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; + $$1 = $2;$$1382 = $14;$118 = $2; + label = 55; } - } 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) { + } while(0); + do { + if ((label|0) == 55) { + $117 = ($118>>>0)<($15>>>0); + if (!($117)) { _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; + $119 = ((($15)) + 4|0); + $120 = HEAP32[$119>>2]|0; + $121 = $120 & 1; + $122 = ($121|0)==(0); + if ($122) { + _abort(); + // unreachable; + } + $123 = $120 & 2; + $124 = ($123|0)==(0); + if ($124) { + $125 = HEAP32[(35472)>>2]|0; + $126 = ($15|0)==($125|0); + $127 = HEAP32[(35468)>>2]|0; + if ($126) { + $128 = HEAP32[(35460)>>2]|0; + $129 = (($128) + ($$1382))|0; + HEAP32[(35460)>>2] = $129; + HEAP32[(35472)>>2] = $$1; + $130 = $129 | 1; + $131 = ((($$1)) + 4|0); + HEAP32[$131>>2] = $130; + $132 = ($$1|0)==($127|0); + if (!($132)) { + break; + } + HEAP32[(35468)>>2] = 0; + HEAP32[(35456)>>2] = 0; 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; + $133 = ($15|0)==($127|0); + if ($133) { + $134 = HEAP32[(35456)>>2]|0; + $135 = (($134) + ($$1382))|0; + HEAP32[(35456)>>2] = $135; + HEAP32[(35468)>>2] = $118; + $136 = $135 | 1; + $137 = ((($$1)) + 4|0); + HEAP32[$137>>2] = $136; + $138 = (($118) + ($135)|0); + HEAP32[$138>>2] = $135; + break; + } + $139 = $120 & -8; + $140 = (($139) + ($$1382))|0; + $141 = $120 >>> 3; + $142 = ($120>>>0)<(256); + L106: do { + if ($142) { + $143 = ((($15)) + 8|0); + $144 = HEAP32[$143>>2]|0; + $145 = ((($15)) + 12|0); + $146 = HEAP32[$145>>2]|0; + $147 = $141 << 1; + $148 = (35488 + ($147<<2)|0); + $149 = ($144|0)==($148|0); + if (!($149)) { + $150 = HEAP32[(35464)>>2]|0; + $151 = ($144>>>0)<($150>>>0); + if ($151) { + _abort(); + // unreachable; + } + $152 = ((($144)) + 12|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==($15|0); + if (!($154)) { + _abort(); + // unreachable; + } + } + $155 = ($146|0)==($144|0); + if ($155) { + $156 = 1 << $141; + $157 = $156 ^ -1; + $158 = HEAP32[8862]|0; + $159 = $158 & $157; + HEAP32[8862] = $159; + break; + } + $160 = ($146|0)==($148|0); + if ($160) { + $$pre442 = ((($146)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $161 = HEAP32[(35464)>>2]|0; + $162 = ($146>>>0)<($161>>>0); + if ($162) { + _abort(); + // unreachable; + } + $163 = ((($146)) + 8|0); + $164 = HEAP32[$163>>2]|0; + $165 = ($164|0)==($15|0); + if ($165) { + $$pre$phi443Z2D = $163; + } else { + _abort(); + // unreachable; + } + } + $166 = ((($144)) + 12|0); + HEAP32[$166>>2] = $146; + HEAP32[$$pre$phi443Z2D>>2] = $144; + } else { + $167 = ((($15)) + 24|0); + $168 = HEAP32[$167>>2]|0; + $169 = ((($15)) + 12|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==($15|0); + do { + if ($171) { + $182 = ((($15)) + 16|0); + $183 = ((($182)) + 4|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if ($185) { + $186 = HEAP32[$182>>2]|0; + $187 = ($186|0)==(0|0); + if ($187) { + $$3400 = 0; + break; + } else { + $$1398 = $186;$$1402 = $182; + } + } else { + $$1398 = $184;$$1402 = $183; + } + while(1) { + $188 = ((($$1398)) + 20|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($189|0)==(0|0); + if (!($190)) { + $$1398 = $189;$$1402 = $188; + continue; + } + $191 = ((($$1398)) + 16|0); + $192 = HEAP32[$191>>2]|0; + $193 = ($192|0)==(0|0); + if ($193) { + break; + } else { + $$1398 = $192;$$1402 = $191; + } + } + $194 = HEAP32[(35464)>>2]|0; + $195 = ($$1402>>>0)<($194>>>0); + if ($195) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $172 = ((($15)) + 8|0); + $173 = HEAP32[$172>>2]|0; + $174 = HEAP32[(35464)>>2]|0; + $175 = ($173>>>0)<($174>>>0); + if ($175) { + _abort(); + // unreachable; + } + $176 = ((($173)) + 12|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==($15|0); + if (!($178)) { + _abort(); + // unreachable; + } + $179 = ((($170)) + 8|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==($15|0); + if ($181) { + HEAP32[$176>>2] = $170; + HEAP32[$179>>2] = $173; + $$3400 = $170; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $196 = ($168|0)==(0|0); + if (!($196)) { + $197 = ((($15)) + 28|0); + $198 = HEAP32[$197>>2]|0; + $199 = (35752 + ($198<<2)|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($15|0)==($200|0); + do { + if ($201) { + HEAP32[$199>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $202 = 1 << $198; + $203 = $202 ^ -1; + $204 = HEAP32[(35452)>>2]|0; + $205 = $204 & $203; + HEAP32[(35452)>>2] = $205; + break L106; + } + } else { + $206 = HEAP32[(35464)>>2]|0; + $207 = ($168>>>0)<($206>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($168)) + 16|0); + $209 = HEAP32[$208>>2]|0; + $not$ = ($209|0)!=($15|0); + $$sink5 = $not$&1; + $210 = (((($168)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$210>>2] = $$3400; + $211 = ($$3400|0)==(0|0); + if ($211) { + break L106; + } else { + break; + } + } + } + } while(0); + $212 = HEAP32[(35464)>>2]|0; + $213 = ($$3400>>>0)<($212>>>0); + if ($213) { + _abort(); + // unreachable; + } + $214 = ((($$3400)) + 24|0); + HEAP32[$214>>2] = $168; + $215 = ((($15)) + 16|0); + $216 = HEAP32[$215>>2]|0; + $217 = ($216|0)==(0|0); + do { + if (!($217)) { + $218 = ($216>>>0)<($212>>>0); + if ($218) { + _abort(); + // unreachable; + } else { + $219 = ((($$3400)) + 16|0); + HEAP32[$219>>2] = $216; + $220 = ((($216)) + 24|0); + HEAP32[$220>>2] = $$3400; + break; + } + } + } while(0); + $221 = ((($215)) + 4|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); + if (!($223)) { + $224 = HEAP32[(35464)>>2]|0; + $225 = ($222>>>0)<($224>>>0); + if ($225) { + _abort(); + // unreachable; + } else { + $226 = ((($$3400)) + 20|0); + HEAP32[$226>>2] = $222; + $227 = ((($222)) + 24|0); + HEAP32[$227>>2] = $$3400; + break; + } + } + } + } + } while(0); + $228 = $140 | 1; + $229 = ((($$1)) + 4|0); + HEAP32[$229>>2] = $228; + $230 = (($118) + ($140)|0); + HEAP32[$230>>2] = $140; + $231 = HEAP32[(35468)>>2]|0; + $232 = ($$1|0)==($231|0); + if ($232) { + HEAP32[(35456)>>2] = $140; break; } else { - $$0383 = $297;$$0384 = $298; + $$2 = $140; + } + } else { + $233 = $120 & -2; + HEAP32[$119>>2] = $233; + $234 = $$1382 | 1; + $235 = ((($$1)) + 4|0); + HEAP32[$235>>2] = $234; + $236 = (($118) + ($$1382)|0); + HEAP32[$236>>2] = $$1382; + $$2 = $$1382; + } + $237 = $$2 >>> 3; + $238 = ($$2>>>0)<(256); + if ($238) { + $239 = $237 << 1; + $240 = (35488 + ($239<<2)|0); + $241 = HEAP32[8862]|0; + $242 = 1 << $237; + $243 = $241 & $242; + $244 = ($243|0)==(0); + if ($244) { + $245 = $241 | $242; + HEAP32[8862] = $245; + $$pre = ((($240)) + 8|0); + $$0403 = $240;$$pre$phiZ2D = $$pre; + } else { + $246 = ((($240)) + 8|0); + $247 = HEAP32[$246>>2]|0; + $248 = HEAP32[(35464)>>2]|0; + $249 = ($247>>>0)<($248>>>0); + if ($249) { + _abort(); + // unreachable; + } else { + $$0403 = $247;$$pre$phiZ2D = $246; + } } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $250 = ((($$0403)) + 12|0); + HEAP32[$250>>2] = $$1; + $251 = ((($$1)) + 8|0); + HEAP32[$251>>2] = $$0403; + $252 = ((($$1)) + 12|0); + HEAP32[$252>>2] = $240; + break; } - if ((label|0) == 121) { - $300 = HEAP32[(33152)>>2]|0; - $301 = ($296>>>0)<($300>>>0); - if ($301) { - _abort(); - // unreachable; + $253 = $$2 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0396 = 0; + } else { + $255 = ($$2>>>0)>(16777215); + if ($255) { + $$0396 = 31; } 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; + $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 = $$2 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0396 = $277; + } + } + $278 = (35752 + ($$0396<<2)|0); + $279 = ((($$1)) + 28|0); + HEAP32[$279>>2] = $$0396; + $280 = ((($$1)) + 16|0); + $281 = ((($$1)) + 20|0); + HEAP32[$281>>2] = 0; + HEAP32[$280>>2] = 0; + $282 = HEAP32[(35452)>>2]|0; + $283 = 1 << $$0396; + $284 = $282 & $283; + $285 = ($284|0)==(0); + do { + if ($285) { + $286 = $282 | $283; + HEAP32[(35452)>>2] = $286; + HEAP32[$278>>2] = $$1; + $287 = ((($$1)) + 24|0); + HEAP32[$287>>2] = $278; + $288 = ((($$1)) + 12|0); + HEAP32[$288>>2] = $$1; + $289 = ((($$1)) + 8|0); + HEAP32[$289>>2] = $$1; + } else { + $290 = HEAP32[$278>>2]|0; + $291 = ($$0396|0)==(31); + $292 = $$0396 >>> 1; + $293 = (25 - ($292))|0; + $294 = $291 ? 0 : $293; + $295 = $$2 << $294; + $$0383 = $295;$$0384 = $290; + while(1) { + $296 = ((($$0384)) + 4|0); + $297 = HEAP32[$296>>2]|0; + $298 = $297 & -8; + $299 = ($298|0)==($$2|0); + if ($299) { + label = 126; + break; + } + $300 = $$0383 >>> 31; + $301 = (((($$0384)) + 16|0) + ($300<<2)|0); + $302 = $$0383 << 1; + $303 = HEAP32[$301>>2]|0; + $304 = ($303|0)==(0|0); + if ($304) { + label = 123; + break; + } else { + $$0383 = $302;$$0384 = $303; + } + } + if ((label|0) == 123) { + $305 = HEAP32[(35464)>>2]|0; + $306 = ($301>>>0)<($305>>>0); + if ($306) { + _abort(); + // unreachable; + } else { + HEAP32[$301>>2] = $$1; + $307 = ((($$1)) + 24|0); + HEAP32[$307>>2] = $$0384; + $308 = ((($$1)) + 12|0); + HEAP32[$308>>2] = $$1; + $309 = ((($$1)) + 8|0); + HEAP32[$309>>2] = $$1; + break; + } + } + else if ((label|0) == 126) { + $310 = ((($$0384)) + 8|0); + $311 = HEAP32[$310>>2]|0; + $312 = HEAP32[(35464)>>2]|0; + $313 = ($311>>>0)>=($312>>>0); + $not$437 = ($$0384>>>0)>=($312>>>0); + $314 = $313 & $not$437; + if ($314) { + $315 = ((($311)) + 12|0); + HEAP32[$315>>2] = $$1; + HEAP32[$310>>2] = $$1; + $316 = ((($$1)) + 8|0); + HEAP32[$316>>2] = $311; + $317 = ((($$1)) + 12|0); + HEAP32[$317>>2] = $$0384; + $318 = ((($$1)) + 24|0); + HEAP32[$318>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } } - } - 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); + $319 = HEAP32[(35480)>>2]|0; + $320 = (($319) + -1)|0; + HEAP32[(35480)>>2] = $320; + $321 = ($320|0)==(0); + if ($321) { + $$0212$in$i = (35932); + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $322 = ($$0212$i|0)==(0|0); + $323 = ((($$0212$i)) + 8|0); + if ($322) { + break; + } else { + $$0212$in$i = $323; + } } + HEAP32[(35480)>>2] = -1; } } } 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 { + $324 = HEAP32[(35892)>>2]|0; + $325 = $324 & 2; + $326 = ($325|0)==(0); + if ($326) { 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; + (___pthread_mutex_unlock((35896))|0); return; } function runPostSets() { @@ -27287,6 +33656,9 @@ function _roundf(f) { f = +f; return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? } +function _emscripten_set_current_thread_status(newStatus) { + newStatus = newStatus|0; +} function _bitshift64Lshr(low, high, bits) { low = low|0; high = high|0; bits = bits|0; var ander = 0; @@ -27298,6 +33670,10 @@ function _bitshift64Lshr(low, high, bits) { tempRet0 = 0; return (high >>> (bits - 32))|0; } +function _emscripten_conditional_set_current_thread_status(expectedStatus, newStatus) { + expectedStatus = expectedStatus|0; + newStatus = newStatus|0; +} function _sbrk(increment) { increment = increment|0; var oldDynamicTop = 0; @@ -27305,25 +33681,24 @@ function _sbrk(increment) { 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; + + // Perform a compare-and-swap loop to update the new dynamic top value. This is because + // this function can becalled simultaneously in multiple threads. + do { + oldDynamicTop = Atomics_load(HEAP32, DYNAMICTOP_PTR>>2)|0; + newDynamicTop = oldDynamicTop + increment | 0; + // Asking to increase dynamic top to a too high value? In pthreads builds we cannot + // enlarge memory, so this needs to fail. + 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. + | (newDynamicTop|0) > (totalMemory|0)) { + abortOnCannotGrowMemory()|0; } - } + // Attempt to update the dynamic top to new value. Another thread may have beat this thread to the update, + // in which case we will need to start over by iterating the loop body again. + oldDynamicTopOnChange = Atomics_compareExchange(HEAP32, DYNAMICTOP_PTR>>2, oldDynamicTop|0, newDynamicTop|0)|0; + } while((oldDynamicTopOnChange|0) != (oldDynamicTop|0)); return oldDynamicTop|0; } function _bitshift64Shl(low, high, bits) { @@ -28111,25 +34486,43 @@ var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glG 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_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 }; + return { _emscripten_sync_run_in_main_thread_3: _emscripten_sync_run_in_main_thread_3, _roundf: _roundf, _bitshift64Shl: _bitshift64Shl, _emscripten_atomic_load_f32: _emscripten_atomic_load_f32, ___uremdi3: ___uremdi3, ___udivdi3: ___udivdi3, _emscripten_atomic_xor_u64: _emscripten_atomic_xor_u64, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _emscripten_atomic_and_u64: _emscripten_atomic_and_u64, _emscripten_sync_run_in_main_thread: _emscripten_sync_run_in_main_thread, _emscripten_sync_run_in_main_thread_4: _emscripten_sync_run_in_main_thread_4, _emscripten_sync_run_in_main_thread_5: _emscripten_sync_run_in_main_thread_5, _emscripten_sync_run_in_main_thread_6: _emscripten_sync_run_in_main_thread_6, _emscripten_sync_run_in_main_thread_7: _emscripten_sync_run_in_main_thread_7, _emscripten_sync_run_in_main_thread_0: _emscripten_sync_run_in_main_thread_0, _emscripten_sync_run_in_main_thread_1: _emscripten_sync_run_in_main_thread_1, _emscripten_sync_run_in_main_thread_2: _emscripten_sync_run_in_main_thread_2, __emscripten_atomic_fetch_and_sub_u64: __emscripten_atomic_fetch_and_sub_u64, _emscripten_atomic_exchange_u32: _emscripten_atomic_exchange_u32, _fflush: _fflush, _emscripten_set_current_thread_status: _emscripten_set_current_thread_status, _emscripten_atomic_cas_u64: _emscripten_atomic_cas_u64, _memset: _memset, _emscripten_atomic_sub_u64: _emscripten_atomic_sub_u64, _emscripten_sync_run_in_main_thread_xprintf_varargs: _emscripten_sync_run_in_main_thread_xprintf_varargs, _i64Subtract: _i64Subtract, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, __emscripten_atomic_fetch_and_and_u64: __emscripten_atomic_fetch_and_and_u64, _emscripten_atomic_add_u64: _emscripten_atomic_add_u64, _emscripten_atomic_store_f64: _emscripten_atomic_store_f64, ___muldsi3: ___muldsi3, __emscripten_atomic_fetch_and_xor_u64: __emscripten_atomic_fetch_and_xor_u64, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_atomic_store_u64: _emscripten_atomic_store_u64, _emscripten_atomic_load_f64: _emscripten_atomic_load_f64, _emscripten_get_global_libc: _emscripten_get_global_libc, __emscripten_atomic_fetch_and_add_u64: __emscripten_atomic_fetch_and_add_u64, __emscripten_atomic_fetch_and_or_u64: __emscripten_atomic_fetch_and_or_u64, _emscripten_GetProcAddress: _emscripten_GetProcAddress, _emscripten_async_run_in_main_thread: _emscripten_async_run_in_main_thread, ___errno_location: ___errno_location, _main: _main, _emscripten_main_thread_process_queued_calls: _emscripten_main_thread_process_queued_calls, _emscripten_atomic_load_u64: _emscripten_atomic_load_u64, _free: _free, _emscripten_atomic_store_f32: _emscripten_atomic_store_f32, _emscripten_atomic_exchange_u64: _emscripten_atomic_exchange_u64, _memmove: _memmove, ___pthread_tsd_run_dtors: ___pthread_tsd_run_dtors, _malloc: _malloc, _memcpy: _memcpy, _emscripten_conditional_set_current_thread_status: _emscripten_conditional_set_current_thread_status, _sbrk: _sbrk, _emscripten_atomic_or_u64: _emscripten_atomic_or_u64, _strstr: _strstr, ___emscripten_pthread_data_constructor: ___emscripten_pthread_data_constructor, 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___emscripten_atomic_fetch_and_xor_u64 = asm["__emscripten_atomic_fetch_and_xor_u64"]; asm["__emscripten_atomic_fetch_and_xor_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_xor_u64.apply(null, arguments); +}; + 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() { +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__main.apply(null, arguments); +return real__bitshift64Shl.apply(null, arguments); +}; + +var real__emscripten_atomic_load_f32 = asm["_emscripten_atomic_load_f32"]; asm["_emscripten_atomic_load_f32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_load_f32.apply(null, arguments); +}; + +var real____emscripten_pthread_data_constructor = asm["___emscripten_pthread_data_constructor"]; asm["___emscripten_pthread_data_constructor"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_pthread_data_constructor.apply(null, arguments); }; var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { @@ -28138,16 +34531,22 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real_stackSave.apply(null, arguments); }; -var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { +var real__emscripten_atomic_xor_u64 = asm["_emscripten_atomic_xor_u64"]; asm["_emscripten_atomic_xor_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_xor_u64.apply(null, arguments); }; -var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { +var real__emscripten_atomic_load_u64 = asm["_emscripten_atomic_load_u64"]; asm["_emscripten_atomic_load_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_load_u64.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__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { @@ -28156,10 +34555,76 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real__bitshift64Lshr.apply(null, arguments); }; -var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { +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__bitshift64Shl.apply(null, arguments); +return real_getTempRet0.apply(null, arguments); +}; + +var real__emscripten_atomic_and_u64 = asm["_emscripten_atomic_and_u64"]; asm["_emscripten_atomic_and_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread = asm["_emscripten_sync_run_in_main_thread"]; asm["_emscripten_sync_run_in_main_thread"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_4 = asm["_emscripten_sync_run_in_main_thread_4"]; asm["_emscripten_sync_run_in_main_thread_4"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_4.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_5 = asm["_emscripten_sync_run_in_main_thread_5"]; asm["_emscripten_sync_run_in_main_thread_5"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_5.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_6 = asm["_emscripten_sync_run_in_main_thread_6"]; asm["_emscripten_sync_run_in_main_thread_6"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_6.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_7 = asm["_emscripten_sync_run_in_main_thread_7"]; asm["_emscripten_sync_run_in_main_thread_7"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_7.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_0 = asm["_emscripten_sync_run_in_main_thread_0"]; asm["_emscripten_sync_run_in_main_thread_0"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_0.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_1 = asm["_emscripten_sync_run_in_main_thread_1"]; asm["_emscripten_sync_run_in_main_thread_1"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_1.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_2 = asm["_emscripten_sync_run_in_main_thread_2"]; asm["_emscripten_sync_run_in_main_thread_2"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_2.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_sub_u64 = asm["__emscripten_atomic_fetch_and_sub_u64"]; asm["__emscripten_atomic_fetch_and_sub_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_sub_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_exchange_u32 = asm["_emscripten_atomic_exchange_u32"]; asm["_emscripten_atomic_exchange_u32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_exchange_u32.apply(null, arguments); }; var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { @@ -28168,22 +34633,46 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real__fflush.apply(null, arguments); }; +var real__emscripten_set_current_thread_status = asm["_emscripten_set_current_thread_status"]; asm["_emscripten_set_current_thread_status"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_set_current_thread_status.apply(null, arguments); +}; + +var real__emscripten_atomic_cas_u64 = asm["_emscripten_atomic_cas_u64"]; asm["_emscripten_atomic_cas_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_cas_u64.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() { +var real__emscripten_atomic_sub_u64 = asm["_emscripten_atomic_sub_u64"]; asm["_emscripten_atomic_sub_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_sub_u64.apply(null, arguments); }; -var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { +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__llvm_bswap_i32.apply(null, arguments); +return real__main.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_xprintf_varargs = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_xprintf_varargs.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____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() { @@ -28192,6 +34681,18 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real____muldi3.apply(null, arguments); }; +var real___emscripten_atomic_fetch_and_and_u64 = asm["__emscripten_atomic_fetch_and_and_u64"]; asm["__emscripten_atomic_fetch_and_and_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_3 = asm["_emscripten_sync_run_in_main_thread_3"]; asm["_emscripten_sync_run_in_main_thread_3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_3.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)'); @@ -28210,12 +34711,6 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a 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)'); @@ -28228,28 +34723,52 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real__i64Add.apply(null, arguments); }; +var real__emscripten_atomic_store_u64 = asm["_emscripten_atomic_store_u64"]; asm["_emscripten_atomic_store_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_store_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_load_f64 = asm["_emscripten_atomic_load_f64"]; asm["_emscripten_atomic_load_f64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_load_f64.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_atomic_fetch_and_add_u64 = asm["__emscripten_atomic_fetch_and_add_u64"]; asm["__emscripten_atomic_fetch_and_add_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_add_u64.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_or_u64 = asm["__emscripten_atomic_fetch_and_or_u64"]; asm["__emscripten_atomic_fetch_and_or_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_or_u64.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() { +var real__emscripten_async_run_in_main_thread = asm["_emscripten_async_run_in_main_thread"]; asm["_emscripten_async_run_in_main_thread"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_async_run_in_main_thread.apply(null, arguments); }; -var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { +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____errno_location.apply(null, arguments); +return real__llvm_bswap_i32.apply(null, arguments); }; var real____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = function() { @@ -28258,28 +34777,52 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real____muldsi3.apply(null, arguments); }; +var real__emscripten_main_thread_process_queued_calls = asm["_emscripten_main_thread_process_queued_calls"]; asm["_emscripten_main_thread_process_queued_calls"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_main_thread_process_queued_calls.apply(null, arguments); +}; + +var real__emscripten_atomic_add_u64 = asm["_emscripten_atomic_add_u64"]; asm["_emscripten_atomic_add_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_add_u64.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() { +var real__emscripten_atomic_store_f32 = asm["_emscripten_atomic_store_f32"]; asm["_emscripten_atomic_store_f32"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_store_f32.apply(null, arguments); }; -var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { +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__memmove.apply(null, arguments); +return real_setThrew.apply(null, arguments); }; -var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { +var real__emscripten_atomic_exchange_u64 = asm["_emscripten_atomic_exchange_u64"]; asm["_emscripten_atomic_exchange_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_exchange_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_store_f64 = asm["_emscripten_atomic_store_f64"]; asm["_emscripten_atomic_store_f64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_store_f64.apply(null, arguments); +}; + +var real____pthread_tsd_run_dtors = asm["___pthread_tsd_run_dtors"]; asm["___pthread_tsd_run_dtors"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____pthread_tsd_run_dtors.apply(null, arguments); }; var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { @@ -28288,43 +34831,120 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real_stackRestore.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__malloc = asm["_malloc"]; asm["_malloc"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); return real__malloc.apply(null, arguments); }; + +var real_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__emscripten_conditional_set_current_thread_status = asm["_emscripten_conditional_set_current_thread_status"]; asm["_emscripten_conditional_set_current_thread_status"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_conditional_set_current_thread_status.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__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__emscripten_atomic_or_u64 = asm["_emscripten_atomic_or_u64"]; asm["_emscripten_atomic_or_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_or_u64.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 __emscripten_atomic_fetch_and_xor_u64 = Module["__emscripten_atomic_fetch_and_xor_u64"] = asm["__emscripten_atomic_fetch_and_xor_u64"]; var _roundf = Module["_roundf"] = asm["_roundf"]; -var _main = Module["_main"] = asm["_main"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _emscripten_atomic_load_f32 = Module["_emscripten_atomic_load_f32"] = asm["_emscripten_atomic_load_f32"]; +var ___emscripten_pthread_data_constructor = Module["___emscripten_pthread_data_constructor"] = asm["___emscripten_pthread_data_constructor"]; 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 _emscripten_atomic_xor_u64 = Module["_emscripten_atomic_xor_u64"] = asm["_emscripten_atomic_xor_u64"]; +var _emscripten_atomic_load_u64 = Module["_emscripten_atomic_load_u64"] = asm["_emscripten_atomic_load_u64"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _emscripten_atomic_and_u64 = Module["_emscripten_atomic_and_u64"] = asm["_emscripten_atomic_and_u64"]; +var _emscripten_sync_run_in_main_thread = Module["_emscripten_sync_run_in_main_thread"] = asm["_emscripten_sync_run_in_main_thread"]; +var _emscripten_sync_run_in_main_thread_4 = Module["_emscripten_sync_run_in_main_thread_4"] = asm["_emscripten_sync_run_in_main_thread_4"]; +var _emscripten_sync_run_in_main_thread_5 = Module["_emscripten_sync_run_in_main_thread_5"] = asm["_emscripten_sync_run_in_main_thread_5"]; +var _emscripten_sync_run_in_main_thread_6 = Module["_emscripten_sync_run_in_main_thread_6"] = asm["_emscripten_sync_run_in_main_thread_6"]; +var _emscripten_sync_run_in_main_thread_7 = Module["_emscripten_sync_run_in_main_thread_7"] = asm["_emscripten_sync_run_in_main_thread_7"]; +var _emscripten_sync_run_in_main_thread_0 = Module["_emscripten_sync_run_in_main_thread_0"] = asm["_emscripten_sync_run_in_main_thread_0"]; +var _emscripten_sync_run_in_main_thread_1 = Module["_emscripten_sync_run_in_main_thread_1"] = asm["_emscripten_sync_run_in_main_thread_1"]; +var _emscripten_sync_run_in_main_thread_2 = Module["_emscripten_sync_run_in_main_thread_2"] = asm["_emscripten_sync_run_in_main_thread_2"]; +var __emscripten_atomic_fetch_and_sub_u64 = Module["__emscripten_atomic_fetch_and_sub_u64"] = asm["__emscripten_atomic_fetch_and_sub_u64"]; +var _emscripten_atomic_exchange_u32 = Module["_emscripten_atomic_exchange_u32"] = asm["_emscripten_atomic_exchange_u32"]; var _fflush = Module["_fflush"] = asm["_fflush"]; +var _emscripten_set_current_thread_status = Module["_emscripten_set_current_thread_status"] = asm["_emscripten_set_current_thread_status"]; +var _emscripten_atomic_cas_u64 = Module["_emscripten_atomic_cas_u64"] = asm["_emscripten_atomic_cas_u64"]; var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; -var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _emscripten_atomic_sub_u64 = Module["_emscripten_atomic_sub_u64"] = asm["_emscripten_atomic_sub_u64"]; +var _main = Module["_main"] = asm["_main"]; +var _emscripten_sync_run_in_main_thread_xprintf_varargs = Module["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var __emscripten_atomic_fetch_and_and_u64 = Module["__emscripten_atomic_fetch_and_and_u64"] = asm["__emscripten_atomic_fetch_and_and_u64"]; +var _emscripten_sync_run_in_main_thread_3 = Module["_emscripten_sync_run_in_main_thread_3"] = asm["_emscripten_sync_run_in_main_thread_3"]; 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 _memset = Module["_memset"] = asm["_memset"]; var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_atomic_store_u64 = Module["_emscripten_atomic_store_u64"] = asm["_emscripten_atomic_store_u64"]; +var _emscripten_atomic_load_f64 = Module["_emscripten_atomic_load_f64"] = asm["_emscripten_atomic_load_f64"]; var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var __emscripten_atomic_fetch_and_add_u64 = Module["__emscripten_atomic_fetch_and_add_u64"] = asm["__emscripten_atomic_fetch_and_add_u64"]; +var __emscripten_atomic_fetch_and_or_u64 = Module["__emscripten_atomic_fetch_and_or_u64"] = asm["__emscripten_atomic_fetch_and_or_u64"]; 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 _emscripten_async_run_in_main_thread = Module["_emscripten_async_run_in_main_thread"] = asm["_emscripten_async_run_in_main_thread"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = asm["_emscripten_main_thread_process_queued_calls"]; +var _emscripten_atomic_add_u64 = Module["_emscripten_atomic_add_u64"] = asm["_emscripten_atomic_add_u64"]; var _free = Module["_free"] = asm["_free"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var _emscripten_atomic_store_f32 = Module["_emscripten_atomic_store_f32"] = asm["_emscripten_atomic_store_f32"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _emscripten_atomic_exchange_u64 = Module["_emscripten_atomic_exchange_u64"] = asm["_emscripten_atomic_exchange_u64"]; +var _emscripten_atomic_store_f64 = Module["_emscripten_atomic_store_f64"] = asm["_emscripten_atomic_store_f64"]; +var ___pthread_tsd_run_dtors = Module["___pthread_tsd_run_dtors"] = asm["___pthread_tsd_run_dtors"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _emscripten_conditional_set_current_thread_status = Module["_emscripten_conditional_set_current_thread_status"] = asm["_emscripten_conditional_set_current_thread_status"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; var _memmove = Module["_memmove"] = asm["_memmove"]; +var _emscripten_atomic_or_u64 = Module["_emscripten_atomic_or_u64"] = asm["_emscripten_atomic_or_u64"]; 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"]; @@ -28506,6 +35126,7 @@ function exit(status, implicit) { 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 { + PThread.terminateAllThreads(); ABORT = true; EXITSTATUS = status; @@ -28526,6 +35147,7 @@ Module['exit'] = Module.exit = exit; var abortDecorators = []; function abort(what) { + if (ENVIRONMENT_IS_PTHREAD) console.error('Pthread aborting at ' + new Error().stack); if (what !== undefined) { Module.print(what); Module.printErr(what); @@ -28565,7 +35187,7 @@ if (Module['noInitialRun']) { } -run(); +if (!ENVIRONMENT_IS_PTHREAD) run(); // {{POST_RUN_ADDITIONS}} diff --git a/docs/examples/web/physac/physics_movement.c b/docs/examples/web/physac/physics_movement.c index 3345404d..70078b0c 100644 --- a/docs/examples/web/physac/physics_movement.c +++ b/docs/examples/web/physac/physics_movement.c @@ -2,9 +2,11 @@ * * Physac - Physics movement * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* 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) +* +* Use the following line to compile: * -* Use the following code to compile (-static -lpthread): * 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 * @@ -15,111 +17,147 @@ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "../src/physac.h" +#include "physac.h" + +#if defined(PLATFORM_WEB) + #include +#endif + +#define VELOCITY 0.5f + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +int screenWidth = 800; +int screenHeight = 450; + +// Physac logo drawing position +int logoX = 0; +int logoY = 15; -#define VELOCITY 0.5f +PhysicsBody body; +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- int main() { // Initialization //-------------------------------------------------------------------------------------- - int screenWidth = 800; - int screenHeight = 450; - SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Physics movement"); - SetTargetFPS(60); // Physac logo drawing position - int logoX = screenWidth - MeasureText("Physac", 30) - 10; - int logoY = 15; + logoX = screenWidth - MeasureText("Physac", 30) - 10; // Initialize physics and default physics bodies InitPhysics(); - // Create floor and walls rectangle physics body - PhysicsBody floor = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, screenWidth, 100, 10); + // Create ground and walls rectangle physics body + PhysicsBody ground = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, screenWidth, 100, 10); PhysicsBody platformLeft = CreatePhysicsBodyRectangle((Vector2){ screenWidth*0.25f, screenHeight*0.6f }, screenWidth*0.25f, 10, 10); PhysicsBody platformRight = CreatePhysicsBodyRectangle((Vector2){ screenWidth*0.75f, screenHeight*0.6f }, screenWidth*0.25f, 10, 10); PhysicsBody wallLeft = CreatePhysicsBodyRectangle((Vector2){ -5, screenHeight/2 }, 10, screenHeight, 10); PhysicsBody wallRight = CreatePhysicsBodyRectangle((Vector2){ screenWidth + 5, screenHeight/2 }, 10, screenHeight, 10); - // Disable dynamics to floor and walls physics bodies - floor->enabled = false; + // Disable dynamics to ground and walls physics bodies + ground->enabled = false; platformLeft->enabled = false; platformRight->enabled = false; wallLeft->enabled = false; wallRight->enabled = false; // Create movement physics body - PhysicsBody body = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight/2 }, 50, 50, 1); + body = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight/2 }, 50, 50, 1); body->freezeOrient = true; // Constrain body rotation to avoid little collision torque amounts - //-------------------------------------------------------------------------------------- + +#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 { - // Update - //---------------------------------------------------------------------------------- - if (IsKeyPressed('R')) // Reset physics input - { - // Reset movement physics body position, velocity and rotation - body->position = (Vector2){ screenWidth/2, screenHeight/2 }; - body->velocity = (Vector2){ 0, 0 }; - SetPhysicsBodyRotation(body, 0); - } + UpdateDrawFrame(); + } +#endif + + // De-Initialization + //-------------------------------------------------------------------------------------- + ClosePhysics(); // Uninitialize physics + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- - // Horizontal movement input - if (IsKeyDown(KEY_RIGHT)) body->velocity.x = VELOCITY; - else if (IsKeyDown(KEY_LEFT)) body->velocity.x = -VELOCITY; + return 0; +} - // Vertical movement input checking if player physics body is grounded - if (IsKeyDown(KEY_UP) && body->isGrounded) body->velocity.y = -VELOCITY*4; - //---------------------------------------------------------------------------------- +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + if (IsKeyPressed('R')) // Reset physics input + { + // Reset movement physics body position, velocity and rotation + body->position = (Vector2){ screenWidth/2, screenHeight/2 }; + body->velocity = (Vector2){ 0, 0 }; + SetPhysicsBodyRotation(body, 0); + } - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); + // Horizontal movement input + if (IsKeyDown(KEY_RIGHT)) body->velocity.x = VELOCITY; + else if (IsKeyDown(KEY_LEFT)) body->velocity.x = -VELOCITY; - ClearBackground(BLACK); + // Vertical movement input checking if player physics body is grounded + if (IsKeyDown(KEY_UP) && body->isGrounded) body->velocity.y = -VELOCITY*4; + //---------------------------------------------------------------------------------- - DrawFPS(screenWidth - 90, screenHeight - 30); + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); - // Draw created physics bodies - int bodiesCount = GetPhysicsBodiesCount(); - for (int i = 0; i < bodiesCount; i++) - { - PhysicsBody body = GetPhysicsBody(i); + ClearBackground(BLACK); - int vertexCount = GetPhysicsShapeVerticesCount(i); - for (int j = 0; j < vertexCount; j++) - { - // Get physics bodies shape vertices to draw lines - // Note: GetPhysicsShapeVertex() already calculates rotation transformations - Vector2 vertexA = GetPhysicsShapeVertex(body, j); + DrawFPS(screenWidth - 90, screenHeight - 30); - int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape - Vector2 vertexB = GetPhysicsShapeVertex(body, jj); + // Draw created physics bodies + int bodiesCount = GetPhysicsBodiesCount(); + for (int i = 0; i < bodiesCount; i++) + { + PhysicsBody body = GetPhysicsBody(i); - DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions - } - } + int vertexCount = GetPhysicsShapeVerticesCount(i); + for (int j = 0; j < vertexCount; j++) + { + // Get physics bodies shape vertices to draw lines + // Note: GetPhysicsShapeVertex() already calculates rotation transformations + Vector2 vertexA = GetPhysicsShapeVertex(body, j); - DrawText("Use 'ARROWS' to move player", 10, 10, 10, WHITE); - DrawText("Press 'R' to reset example", 10, 30, 10, WHITE); + int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape + Vector2 vertexB = GetPhysicsShapeVertex(body, jj); - DrawText("Physac", logoX, logoY, 30, WHITE); - DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); + DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions + } + } - EndDrawing(); - //---------------------------------------------------------------------------------- - } + DrawText("Use 'ARROWS' to move player", 10, 10, 10, WHITE); + DrawText("Press 'R' to reset example", 10, 30, 10, WHITE); - // De-Initialization - //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- + DrawText("Physac", logoX, logoY, 30, WHITE); + DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); - return 0; + EndDrawing(); + //---------------------------------------------------------------------------------- } + diff --git a/docs/examples/web/physac/physics_movement.js b/docs/examples/web/physac/physics_movement.js index 7555a22a..5bc965ef 100644 --- a/docs/examples/web/physac/physics_movement.js +++ b/docs/examples/web/physac/physics_movement.js @@ -59,6 +59,11 @@ if (Module['ENVIRONMENT']) { ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; } +var ENVIRONMENT_IS_PTHREAD; +if (!ENVIRONMENT_IS_PTHREAD) ENVIRONMENT_IS_PTHREAD = false; // ENVIRONMENT_IS_PTHREAD=true will have been preset in pthread-main.js. Make it false in the main runtime thread. +var PthreadWorkerInit; // Collects together variables that are needed at initialization time for the web workers that host pthreads. +if (!ENVIRONMENT_IS_PTHREAD) PthreadWorkerInit = {}; +var currentScriptUrl = ENVIRONMENT_IS_WORKER ? undefined : document.currentScript.src; if (ENVIRONMENT_IS_NODE) { // Expose functionality in the same simple way that the shells work @@ -1178,9 +1183,14 @@ 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 +if (!ENVIRONMENT_IS_PTHREAD) { // Pthreads have already initialized these variables in src/pthread-main.js, where they were passed to the thread worker at startup time STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; staticSealed = false; +} +if (ENVIRONMENT_IS_PTHREAD) { + staticSealed = true; // The static memory area has been initialized already in the main thread, pthreads skip this. +} // Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. function writeStackCookie() { @@ -1207,7 +1217,7 @@ function abortOnCannotGrowMemory() { function enlargeMemory() { - abortOnCannotGrowMemory(); + abort('Cannot enlarge memory arrays, since compiling with pthreads support enabled (-s USE_PTHREADS=1).'); } @@ -1221,27 +1231,69 @@ assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' 'JS engine does not provide full typed array support'); - -// Use a provided buffer, if there is one, or else allocate a new one -if (Module['buffer']) { - buffer = Module['buffer']; - assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); +if (typeof SharedArrayBuffer !== 'undefined') { + if (!ENVIRONMENT_IS_PTHREAD) buffer = new SharedArrayBuffer(TOTAL_MEMORY); + // Currently SharedArrayBuffer does not have a slice() operation, so polyfill it in. + // Adapted from https://github.com/ttaubert/node-arraybuffer-slice, (c) 2014 Tim Taubert + // arraybuffer-slice may be freely distributed under the MIT license. + (function (undefined) { + "use strict"; + function clamp(val, length) { + val = (val|0) || 0; + if (val < 0) return Math.max(val + length, 0); + return Math.min(val, length); + } + if (typeof SharedArrayBuffer !== 'undefined' && !SharedArrayBuffer.prototype.slice) { + SharedArrayBuffer.prototype.slice = function (from, to) { + var length = this.byteLength; + var begin = clamp(from, length); + var end = length; + if (to !== undefined) end = clamp(to, length); + if (begin > end) return new ArrayBuffer(0); + var num = end - begin; + var target = new ArrayBuffer(num); + var targetArray = new Uint8Array(target); + var sourceArray = new Uint8Array(this, begin, num); + targetArray.set(sourceArray); + return target; + }; + } + })(); } else { - // Use a WebAssembly memory where available - { - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - assert(buffer.byteLength === TOTAL_MEMORY); + if (!ENVIRONMENT_IS_PTHREAD) buffer = new ArrayBuffer(TOTAL_MEMORY); } updateGlobalBufferViews(); +if (typeof Atomics === 'undefined') { + // Polyfill singlethreaded atomics ops from http://lars-t-hansen.github.io/ecmascript_sharedmem/shmem.html#Atomics.add + // No thread-safety needed since we don't have multithreading support. + Atomics = {}; + Atomics['add'] = function(t, i, v) { var w = t[i]; t[i] += v; return w; } + Atomics['and'] = function(t, i, v) { var w = t[i]; t[i] &= v; return w; } + Atomics['compareExchange'] = function(t, i, e, r) { var w = t[i]; if (w == e) t[i] = r; return w; } + Atomics['exchange'] = function(t, i, v) { var w = t[i]; t[i] = v; return w; } + Atomics['wait'] = function(t, i, v, o) { if (t[i] != v) return 'not-equal'; else return 'timed-out'; } + Atomics['wake'] = function(t, i, c) { return 0; } + Atomics['wakeOrRequeue'] = function(t, i1, c, i2, v) { return 0; } + Atomics['isLockFree'] = function(s) { return true; } + Atomics['load'] = function(t, i) { return t[i]; } + Atomics['or'] = function(t, i, v) { var w = t[i]; t[i] |= v; return w; } + Atomics['store'] = function(t, i, v) { t[i] = v; return v; } + Atomics['sub'] = function(t, i, v) { var w = t[i]; t[i] -= v; return w; } + Atomics['xor'] = function(t, i, v) { var w = t[i]; t[i] ^= v; return w; } +} + function getTotalMemory() { return TOTAL_MEMORY; } // Endianness check (note: assumes compiler arch was little-endian) +if (!ENVIRONMENT_IS_PTHREAD) { HEAP32[0] = 0x63736d65; /* 'emsc' */ +} else { + if (HEAP32[0] !== 0x63736d65) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; +} HEAP16[1] = 0x6373; if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; @@ -1285,8 +1337,10 @@ var __ATPOSTRUN__ = []; // functions called after the runtime has exited var runtimeInitialized = false; var runtimeExited = false; +if (ENVIRONMENT_IS_PTHREAD) runtimeInitialized = true; // The runtime is hosted in the main thread, and bits shared to pthreads via SharedArrayBuffer. No need to init again in pthread. function preRun() { + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. // compatibility - merge in anything from Module['preRun'] at this time if (Module['preRun']) { if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; @@ -1299,6 +1353,7 @@ function preRun() { function ensureInitRuntime() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. if (runtimeInitialized) return; runtimeInitialized = true; callRuntimeCallbacks(__ATINIT__); @@ -1306,17 +1361,20 @@ function ensureInitRuntime() { function preMain() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. callRuntimeCallbacks(__ATMAIN__); } function exitRuntime() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. callRuntimeCallbacks(__ATEXIT__); runtimeExited = true; } function postRun() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. // compatibility - merge in anything from Module['postRun'] at this time if (Module['postRun']) { if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; @@ -1435,6 +1493,18 @@ function reSign(value, bits, ignore) { return value; } +// Atomics.exchange is not yet implemented in the spec, so polyfill that in via compareExchange in the meanwhile. +// TODO: Keep an eye out for the opportunity to remove this once Atomics.exchange is available. +if (typeof Atomics !== 'undefined' && !Atomics['exchange']) { + Atomics['exchange'] = function(heap, index, val) { + var oldVal, oldVal2; + do { + oldVal = Atomics['load'](heap, index); + oldVal2 = Atomics['compareExchange'](heap, index, oldVal, val); + } while(oldVal != oldVal2); + return oldVal; + } +} // 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) { @@ -1504,6 +1574,9 @@ function getUniqueRunDependency(id) { } function addRunDependency(id) { + // We should never get here in pthreads (could no-op this out if called in pthreads, but that might indicate a bug in caller side, + // so good to be very explicit) + assert(!ENVIRONMENT_IS_PTHREAD); runDependencies++; if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); @@ -1572,52 +1645,43 @@ 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)]); } }]; +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }, + function() { postMessage({ cmd: 'processQueuedMainThreadWork' }) }]; function _emscripten_asm_const_iii(code, a0, a1) { return ASM_CONSTS[code](a0, a1); } +function _emscripten_asm_const_v(code) { + return ASM_CONSTS[code](); +} + STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 36032; - /* global initializers */ __ATINIT__.push(); +STATICTOP = STATIC_BASE + 38336; + /* global initializers */ if (!ENVIRONMENT_IS_PTHREAD) __ATINIT__.push({ func: function() { ___emscripten_pthread_data_constructor() } }); -/* 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); +if (!ENVIRONMENT_IS_PTHREAD) { +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,15,0,0,0,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,180,11,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,191,145,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,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,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,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], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([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,101,109,115,99,114,105,112,116,101,110,95,105,115,95,109,97,105,110,95,114,117,110,116,105,109,101,95,116,104,114,101,97,100,40,41,32,38,38,32,34,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,32,109,117,115,116,32,98,101,32,99,97,108,108,101,100,32,102,114,111,109,32,116,104,101,32,109,97,105,110,32,116,104,114,101,97,100,33,34,0,67,58,92,101,109,115,100,107,92,101,109,115,99,114,105,112,116,101,110,92,49,46,51,55,46,57,92,115,121,115,116,101,109,92,108,105,98,92,112,116,104,114,101,97,100,92,108,105,98,114,97,114,121,95,112,116,104,114,101,97,100,46,99,0,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,0,48,32,38,38,32,34,73,110,118,97,108,105,100,32,69,109,115,99,114,105,112,116,101,110,32,112,116,104,114,101,97,100,32,95,100,111,95,99,97,108,108,32,111,112,99,111,100,101,33,34,0,95,100,111,95,99,97,108,108,0,99,97,108,108,0,101,109,115,99,114,105,112,116,101,110,95,97,115,121,110,99,95,114,117,110,95,105,110,95,109,97,105,110,95,116,104,114,101,97,100,0,112,111,115,116,77,101,115,115,97,103,101,40,123,32,99,109,100,58,32,39,112,114,111,99,101,115,115,81,117,101,117,101,100,77,97,105,110,84,104,114,101,97,100,87,111,114,107,39,32,125,41,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +} /* no memory initializer */ -var tempDoublePtr = STATICTOP; STATICTOP += 16; +var tempDoublePtr; + +if (!ENVIRONMENT_IS_PTHREAD) tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); assert(tempDoublePtr % 8 == 0); @@ -1880,6 +1944,8 @@ function copyTempDouble(ptr) { function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + function ___pthread_setcancelstate() { return 0 } + function _emscripten_get_now() { abort() } @@ -3360,3472 +3426,7555 @@ function copyTempDouble(ptr) { } - 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; }); + 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--; + } } - },registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up--; up) { + parts.unshift('..'); + } } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); + 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 } - 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; + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; } - },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; + // 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; } - return true; + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); } - // 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; + 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; } } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); + 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) {} + } - 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; + 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); } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; + 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 + } + }; } - 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); + 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; } - },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--); - } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; } - },_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; + 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. } - - 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--); - } - } + 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. } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); + + 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; } - 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(); + // 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. } - }; - - 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 ); + node.usedBytes = newSize; + return; } - 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(); + // 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; + } } - }; - 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(); + // 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. + } } - }; - // 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(); + 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 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]; + 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); } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); + } catch (e) { + return callback(e); } - 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 (!req) { + return callback("Unable to connect to IndexedDB"); } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } + var fileStore; - 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; + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); } - 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(); + + if (!fileStore.indexNames.contains('timestamp')) { + fileStore.createIndex('timestamp', 'timestamp', { unique: false }); } }; + req.onsuccess = function() { + db = req.result; - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + // add to the cache + IDBFS.dbs[name] = db; + callback(null, db); }; - 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; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },getLocalSet:function (mount, callback) { + var entries = {}; - 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(); + function isRealDir(p) { + return p !== '.' && p !== '..'; + }; + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p); } }; - 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 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 }; } - 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; + return callback(null, { type: 'local', entries: entries }); + },getRemoteSet:function (mount, callback) { + var entries = {}; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); - if (shouldCancel) { + 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 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; + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index('timestamp'); - 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; + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; + if (!cursor) { + return callback(null, { type: 'remote', db: db, entries: entries }); + } - 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"]; + entries[cursor.primaryKey] = { timestamp: cursor.key }; - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } + cursor.continue(); + }; + }); + },loadLocalEntry:function (path, callback) { + var stat, node; - 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 ); + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path); + } catch (e) { + return callback(e); } - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + 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 { - target = JSEvents.findEventTarget(target); + 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')); + } - var handlerFunc = function(event) { - var e = event || window.event; + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp); + } catch (e) { + return callback(e); + } - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + callback(null); + },removeLocalEntry:function (path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); + if (FS.isDir(stat.mode)) { + FS.rmdir(path); + } else if (FS.isFile(stat.mode)) { + FS.unlink(path); } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; + } catch (e) { + return callback(e); } - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + 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(); }; - 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); - } + },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 handlerFunc = function(event) { - var e = event || window.event; + 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++; + } + }); - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + if (!total) { + return callback(null); + } - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); + 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); } }; - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + transaction.onerror = function(e) { + done(this.error); + e.preventDefault(); }; - 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; + // 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 { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; + IDBFS.loadLocalEntry(path, function (err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done); + }); } - } - - // 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; + // 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 { - return -3; + 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); } - - if (strategy.canvasResizedCallback) { - Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + 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 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 ); + return stat.mode; + },realPath:function (node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + 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 { - target = JSEvents.findEventTarget(target); + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } - - 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(); + },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]); + } + } } - }; - - 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(); + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } - }; - 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 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; } - 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 ); + function base(path) { + var parts = path.split('/'); + return parts[parts.length-1]; } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + // 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 { - target = JSEvents.findEventTarget(target); + 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 handlerFunc = function(event) { - var e = event || window.event; + var _stdin; if (ENVIRONMENT_IS_PTHREAD) _stdin = PthreadWorkerInit._stdin; else PthreadWorkerInit._stdin = _stdin = allocate(1, "i32*", ALLOC_STATIC); - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + var _stdout; if (ENVIRONMENT_IS_PTHREAD) _stdout = PthreadWorkerInit._stdout; else PthreadWorkerInit._stdout = _stdout = allocate(1, "i32*", ALLOC_STATIC); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; + var _stderr; if (ENVIRONMENT_IS_PTHREAD) _stderr = PthreadWorkerInit._stderr; else PthreadWorkerInit._stderr = _stderr = allocate(1, "i32*", ALLOC_STATIC);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 || {}; - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; + } } - target = JSEvents.findEventTarget(target); + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } - var handlerFunc = function(event) { - var e = event || window.event; + // split the path + var parts = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), false); - 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; + // 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; } - - 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; + + 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; } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; + } - if (++numTouches >= 32) { - break; + // 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); + } } } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + } - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); - if (shouldCancel) { - e.preventDefault(); + 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; - 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 < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; } - 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]; + 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; } } - 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; - } + },lookupNode:function (parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent); } - 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 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; + }; - var handlerFunc = function(event) { - var e = event || window.event; + 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); } + } + }); + } - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); - if (shouldCancel) { - e.preventDefault(); + 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); + } - 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; + return mounts; + },syncfs:function (populate, callback) { + if (typeof(populate) === 'function') { + callback = populate; + populate = false; + } - var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); + 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 (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; + if (++completed >= mounts.length) { + doCallback(null); } }; - 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 ); - } + // 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; - var handlerFunc = function(event) { - var e = event || window.event; + if (root && FS.root) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + mountpoint = lookup.path; // use the absolute path + node = lookup.node; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); - if (shouldCancel) { - e.preventDefault(); + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); } - }; - 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']; + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } } - var handlerFunc = function(event) { - var e = event || window.event; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] }; - 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; + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; - // 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; + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } - // 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; + return mountRoot; + },unmount:function (mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - 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); - } - + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } - var _emscripten_GetProcAddress=undefined; - Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); - 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; + 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); } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err); } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); } - - 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; + 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; } } - } - }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)]; + },mkdev:function (path, mode, dev) { + if (typeof(dev) === 'undefined') { + dev = mode; + mode = 438 /* 0666 */; } - } 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)]; + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:function (oldpath, newpath) { + if (!PATH.resolve(oldpath)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); } - } 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); + 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); } - }; - } - 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; + 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'); + } - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - return JSEvents.lastGamepadState.length; - } - - function _emscripten_glUniform4iv(location, count, value) { + // 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); - 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) { + FS.mount(MEMFS, {}, '/'); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); - 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)]; + 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); } - } 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; + },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 { - return -2; + ___setErrNo(ret.error); + return null; } - } - - 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) } + },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) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 54, 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_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); } - function _emscripten_glDeleteVertexArrays(n, vaos) { + function _glDeleteTextures(n, textures) { for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; + 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 _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_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); } - function _emscripten_glGetTexParameteriv(target, pname, params) { + 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; } - 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); + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); } - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); } - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); } - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - 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)]; + 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; }); } - } 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) } - - + },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']; - 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); - } - + 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; - 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; + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; } - } 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; + // 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; } } - } - }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() {} - + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); - - 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) { + 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); - 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)]; + 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; } - } 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]; + 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(); + } + }; - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; + 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(); + } + }; - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; + 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 (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 (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } - 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 + ')'; + 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; } - 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]); + 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(); } - 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 + ')'; + }; + + 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(); } - 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 + 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(); } - 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; + 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; - 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; + 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); } - 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; + 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 ); } - 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) } - + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(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["___uremdi3"] = ___uremdi3; - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - + var handlerFunc = function(event) { + var e = event || window.event; - 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']); - } + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - 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 shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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; + 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 ); + } - 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 (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } + var handlerFunc = function(event) { + var e = event || window.event; - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - 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); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); } - } - 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); + }; + + 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; } } - 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); + // 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. - 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) { + 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; } } - 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; + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); } - 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); - } - + 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 ); + } - 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) { + 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; - 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) { + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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 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 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. + var handlerFunc = function(event) { + var e = event || window.event; - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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); + 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 ); + } - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _pthread_create() { - return 11; - } - - function _emscripten_glDrawArrays(mode, first, count) { + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } - GLctx.drawArrays(mode, first, count); + var handlerFunc = function(event) { + var e = event || window.event; - } - - 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); + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - 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; + 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 ); } - 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; + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glVertexAttrib4fv(index, v) { + 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; - 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) { + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - var bufArray = GL.tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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); + 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; } - - 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; + function _utime(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(12, path, times); + // int utime(const char *path, const struct utimbuf *times); + // http://pubs.opengroup.org/onlinepubs/009695399/basedefs/utime.h.html + var time; + if (times) { + // NOTE: We don't keep track of access timestamps. + var offset = 4; + time = HEAP32[(((times)+(offset))>>2)]; + time *= 1000; } else { - if (length) HEAP32[((length)>>2)]=0; + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; } } - - Module["_llvm_bswap_i32"] = _llvm_bswap_i32; - - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); } - 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; + + + + var PROCINFO={ppid:1,pid:42,sid:42,pgid:42}; + + + var __pthread_ptr=0; + + var __pthread_is_main_browser_thread=0;function __register_pthread_ptr(pthreadPtr, isMainBrowserThread, isMainRuntimeThread) { + pthreadPtr = pthreadPtr|0; + isMainBrowserThread = isMainBrowserThread|0; + isMainRuntimeThread = isMainRuntimeThread|0; + __pthread_ptr = pthreadPtr; + __pthread_is_main_browser_thread = isMainBrowserThread; + __pthread_is_main_runtime_thread = isMainRuntimeThread; + } + + var _emscripten_main_thread_process_queued_calls=undefined;var PThread={MAIN_THREAD_ID:1,mainThreadInfo:{schedPolicy:0,schedPrio:0},unusedWorkerPool:[],runningWorkers:[],initMainThreadBlock:function () { + if (ENVIRONMENT_IS_PTHREAD) return undefined; + PThread.mainThreadBlock = allocate(244, "i32*", ALLOC_STATIC); + __register_pthread_ptr(PThread.mainThreadBlock, /*isMainBrowserThread=*/!ENVIRONMENT_IS_WORKER, /*isMainRuntimeThread=*/1); // Pass the thread address inside the asm.js scope to store it for fast access that avoids the need for a FFI out. + + for (var i = 0; i < 244/4; ++i) HEAPU32[PThread.mainThreadBlock/4+i] = 0; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((PThread.mainThreadBlock)+(24))>>2)]=PThread.mainThreadBlock; + + // Allocate memory for thread-local storage. + var tlsMemory = allocate(128 * 4, "i32*", ALLOC_STATIC); + for (var i = 0; i < 128; ++i) HEAPU32[tlsMemory/4+i] = 0; + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 52 ) >> 2, PThread.mainThreadBlock); // Main thread ID. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 56 ) >> 2, PROCINFO.pid); // Process ID. + + },pthreads:{},pthreadIdCounter:2,exitHandlers:null,setThreadStatus:function () {},runExitHandlers:function () { + if (PThread.exitHandlers !== null) { + while (PThread.exitHandlers.length > 0) { + PThread.exitHandlers.pop()(); + } + PThread.exitHandlers = null; + } + + // Call into the musl function that runs destructors of all thread-specific data. + if (ENVIRONMENT_IS_PTHREAD && threadInfoStruct) ___pthread_tsd_run_dtors(); + },threadExit:function (exitCode) { + var tb = _pthread_self(); + if (tb) { // If we haven't yet exited? + Atomics.store(HEAPU32, (tb + 4 ) >> 2, exitCode); + // When we publish this, the main thread is free to deallocate the thread object and we are done. + // Therefore set threadInfoStruct = 0; above to 'release' the object in this worker thread. + Atomics.store(HEAPU32, (tb + 0 ) >> 2, 1); + + // Disable all cancellation so that executing the cleanup handlers won't trigger another JS + // canceled exception to be thrown. + Atomics.store(HEAPU32, (tb + 72 ) >> 2, 1/*PTHREAD_CANCEL_DISABLE*/); + Atomics.store(HEAPU32, (tb + 76 ) >> 2, 0/*PTHREAD_CANCEL_DEFERRED*/); + PThread.runExitHandlers(); + + _emscripten_futex_wake(tb + 0, 2147483647); + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + threadInfoStruct = 0; + if (ENVIRONMENT_IS_PTHREAD) { + // This worker no longer owns any WebGL OffscreenCanvases, so transfer them back to parent thread. + var transferList = []; + + + postMessage({ cmd: 'exit' }); + } + } + },threadCancel:function () { + PThread.runExitHandlers(); + Atomics.store(HEAPU32, (threadInfoStruct + 4 ) >> 2, -1/*PTHREAD_CANCELED*/); + Atomics.store(HEAPU32, (threadInfoStruct + 0 ) >> 2, 1); // Mark the thread as no longer running. + _emscripten_futex_wake(threadInfoStruct + 0, 2147483647); // wake all threads + threadInfoStruct = selfThreadId = 0; // Not hosting a pthread anymore in this worker, reset the info structures to null. + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + postMessage({ cmd: 'cancelDone' }); + },terminateAllThreads:function () { + for (var t in PThread.pthreads) { + var pthread = PThread.pthreads[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.pthreads = {}; + for (var t in PThread.unusedWorkerPool) { + var pthread = PThread.unusedWorkerPool[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.unusedWorkerPool = []; + for (var t in PThread.runningWorkers) { + var pthread = PThread.runningWorkers[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.runningWorkers = []; + },freeThreadData:function (pthread) { + if (!pthread) return; + if (pthread.threadInfoStruct) { + var tlsMemory = HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]; + HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]=0; + _free(pthread.tlsMemory); + _free(pthread.threadInfoStruct); + } + pthread.threadInfoStruct = 0; + if (pthread.allocatedOwnStack && pthread.stackBase) _free(pthread.stackBase); + pthread.stackBase = 0; + if (pthread.worker) pthread.worker.pthread = null; + },receiveObjectTransfer:function (data) { + },allocateUnusedWorkers:function (numWorkers, onFinishedLoading) { + if (typeof SharedArrayBuffer === 'undefined') return; // No multithreading support, no-op. + Module['print']('Preallocating ' + numWorkers + ' workers for a pthread spawn pool.'); + + var numWorkersLoaded = 0; + for (var i = 0; i < numWorkers; ++i) { + var pthreadMainJs = 'pthread-main.js'; + // Allow HTML module to configure the location where the 'pthread-main.js' file will be loaded from, + // either via Module.locateFile() function, or via Module.pthreadMainPrefixURL string. If neither + // of these are passed, then the default URL 'pthread-main.js' relative to the main html file is loaded. + if (typeof Module['locateFile'] === 'function') pthreadMainJs = Module['locateFile'](pthreadMainJs); + else if (Module['pthreadMainPrefixURL']) pthreadMainJs = Module['pthreadMainPrefixURL'] + pthreadMainJs; + var worker = new Worker(pthreadMainJs); + + worker.onmessage = function(e) { + // If this message is intended to a recipient that is not the main thread, forward it to the target thread. + if (e.data.targetThread && e.data.targetThread != _pthread_self()) { + var thread = PThread.pthreads[e.data.targetThread]; + if (thread) { + thread.worker.postMessage(e.data, e.data.transferList); + } else { + console.error('Internal error! Worker sent a message "' + e.data.cmd + '" to target pthread ' + e.data.targetThread + ', but that thread no longer exists!'); + } + return; + } + + if (e.data.cmd === 'processQueuedMainThreadWork') { + // TODO: Must post message to main Emscripten thread in PROXY_TO_WORKER mode. + _emscripten_main_thread_process_queued_calls(); + } else if (e.data.cmd === 'spawnThread') { + __spawn_thread(e.data); + } else if (e.data.cmd === 'cleanupThread') { + __cleanup_thread(e.data.thread); + } else if (e.data.cmd === 'killThread') { + __kill_thread(e.data.thread); + } else if (e.data.cmd === 'cancelThread') { + __cancel_thread(e.data.thread); + } else if (e.data.cmd === 'loaded') { + ++numWorkersLoaded; + if (numWorkersLoaded === numWorkers && onFinishedLoading) { + onFinishedLoading(); + } + } else if (e.data.cmd === 'print') { + Module['print']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'printErr') { + Module['printErr']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'alert') { + alert('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'exit') { + // currently no-op + } else if (e.data.cmd === 'cancelDone') { + PThread.freeThreadData(worker.pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + // TODO: Free if detached. + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } else if (e.data.cmd === 'objectTransfer') { + PThread.receiveObjectTransfer(e.data); + } else { + Module['printErr']("worker sent an unknown command " + e.data.cmd); + } + }; + + worker.onerror = function(e) { + Module['printErr']('pthread sent an error! ' + e.filename + ':' + e.lineno + ': ' + e.message); + }; + + // Allocate tempDoublePtr for the worker. This is done here on the worker's behalf, since we may need to do this statically + // if the runtime has not been loaded yet, etc. - so we just use getMemory, which is main-thread only. + var tempDoublePtr = getMemory(8); // TODO: leaks. Cleanup after worker terminates. + + // Ask the new worker to load up the Emscripten-compiled page. This is a heavy operation. + worker.postMessage({ + cmd: 'load', + url: currentScriptUrl, + buffer: HEAPU8.buffer, + tempDoublePtr: tempDoublePtr, + TOTAL_MEMORY: TOTAL_MEMORY, + STATICTOP: STATICTOP, + DYNAMIC_BASE: DYNAMIC_BASE, + DYNAMICTOP_PTR: DYNAMICTOP_PTR, + PthreadWorkerInit: PthreadWorkerInit + }); + PThread.unusedWorkerPool.push(worker); + } + },getNewWorker:function () { + if (PThread.unusedWorkerPool.length == 0) PThread.allocateUnusedWorkers(1); + if (PThread.unusedWorkerPool.length > 0) return PThread.unusedWorkerPool.pop(); + else return null; + },busySpinWait:function (msecs) { + var t = performance.now() + msecs; + while(performance.now() < t) { + ; + } + }};var __pthread_is_main_runtime_thread=0;function _emscripten_is_main_runtime_thread() { + return __pthread_is_main_runtime_thread|0; // Semantically the same as testing "!ENVIRONMENT_IS_PTHREAD" outside the asm.js scope } - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); + 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 _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 _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); } - 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_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); } - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); 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 _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); } - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); + 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 _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } + function _glDisable(x0) { GLctx['disable'](x0) } - 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_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); } - 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); - } - } + + Module["_memset"] = _memset; - 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 _atexit(func, arg) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(110, func, arg); + __ATEXIT__.unshift({ func: func, arg: arg }); } - 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 _glfwMakeContextCurrent(winid) {} - 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 _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; } - function ___unlock() {} + function ___lock() {} - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + function _glCullFace(x0) { GLctx['cullFace'](x0) } - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); + 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_glFlush() { GLctx['flush']() } + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } - function _glUniformMatrix4fv(location, count, transpose, value) { + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; - 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)]; + 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; } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + // 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 _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); } - function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); + 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 _glFrontFace(x0) { GLctx['frontFace'](x0) } - - function _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); } - 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 _glfwGetPrimaryMonitor() { + return 1; } - 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 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 _glfwGetKey(winid, key) { - return GLFW.getKey(winid, key); + function _emscripten_set_touchstart_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 22, "touchstart"); + return 0; } - 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 _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 _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; + 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; } - return ret; } - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); } - function _emscripten_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + } -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); + 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; + } -HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; + 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); + } -staticSealed = true; // seal the static portion of memory + function ___syscall6(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 6, 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; + } + } -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); + 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 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 _emscripten_glDrawArraysInstanced(mode, first, count, primcount) { + GLctx['drawArraysInstanced'](mode, first, count, primcount); + } -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 _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } -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 _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } -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 ___syscall140(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 140, 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 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 ___syscall146(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 146, 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 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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } -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 _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } -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 _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } -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) } + + var _tzname; if (ENVIRONMENT_IS_PTHREAD) _tzname = PthreadWorkerInit._tzname; else PthreadWorkerInit._tzname = _tzname = allocate(8, "i32*", ALLOC_STATIC); + + var _daylight; if (ENVIRONMENT_IS_PTHREAD) _daylight = PthreadWorkerInit._daylight; else PthreadWorkerInit._daylight = _daylight = allocate(1, "i32*", ALLOC_STATIC); + + var _timezone; if (ENVIRONMENT_IS_PTHREAD) _timezone = PthreadWorkerInit._timezone; else PthreadWorkerInit._timezone = _timezone = allocate(1, "i32*", ALLOC_STATIC);function _tzset() { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_0(119); + // TODO: Use (malleable) environment variables instead of system settings. + if (_tzset.called) return; + _tzset.called = true; + + HEAP32[((_timezone)>>2)]=-(new Date()).getTimezoneOffset() * 60; + + var winter = new Date(2000, 0, 1); + var summer = new Date(2000, 6, 1); + HEAP32[((_daylight)>>2)]=Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + }; + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), 'i8', ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), 'i8', ALLOC_NORMAL); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + // Northern hemisphere + HEAP32[((_tzname)>>2)]=winterNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=summerNamePtr; + } else { + HEAP32[((_tzname)>>2)]=summerNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=winterNamePtr; + } + } -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) } + + Module["_i64Subtract"] = _i64Subtract; -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) } + + Module["_i64Add"] = _i64Add; -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 _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } -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 _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } -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 _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } -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 _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } -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 _emscripten_glFinish() { GLctx['finish']() } -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 _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } -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 _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } -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 _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 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 _sysconf(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(72, name); + // long sysconf(int name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html + switch(name) { + case 30: return PAGE_SIZE; + case 85: + var maxHeapSize = 2*1024*1024*1024 - 16777216; + maxHeapSize = HEAPU8.length; + return maxHeapSize / PAGE_SIZE; + case 132: + case 133: + case 12: + case 137: + case 138: + case 15: + case 235: + case 16: + case 17: + case 18: + case 19: + case 20: + case 149: + case 13: + case 10: + case 236: + case 153: + case 9: + case 21: + case 22: + case 159: + case 154: + case 14: + case 77: + case 78: + case 139: + case 80: + case 81: + case 82: + case 68: + case 67: + case 164: + case 11: + case 29: + case 47: + case 48: + case 95: + case 52: + case 51: + case 46: + return 200809; + case 79: + return 0; + case 27: + case 246: + case 127: + case 128: + case 23: + case 24: + case 160: + case 161: + case 181: + case 182: + case 242: + case 183: + case 184: + case 243: + case 244: + case 245: + case 165: + case 178: + case 179: + case 49: + case 50: + case 168: + case 169: + case 175: + case 170: + case 171: + case 172: + case 97: + case 76: + case 32: + case 173: + case 35: + return -1; + case 176: + case 177: + case 7: + case 155: + case 8: + case 157: + case 125: + case 126: + case 92: + case 93: + case 129: + case 130: + case 131: + case 94: + case 91: + return 1; + case 74: + case 60: + case 69: + case 70: + case 4: + return 1024; + case 31: + case 42: + case 72: + return 32; + case 87: + case 26: + case 33: + return 2147483647; + case 34: + case 1: + return 47839; + case 38: + case 36: + return 99; + case 43: + case 37: + return 2048; + case 0: return 2097152; + case 3: return 65536; + case 28: return 32768; + case 44: return 32767; + case 75: return 16384; + case 39: return 1000; + case 89: return 700; + case 71: return 256; + case 40: return 255; + case 2: return 100; + case 180: return 64; + case 25: return 20; + case 5: return 16; + case 6: return 6; + case 73: return 4; + case 84: { + if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; + return 1; + } + } + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } -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 _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } -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 _glClear(x0) { GLctx['clear'](x0) } -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 _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 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 _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 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 _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } -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 _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } -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 _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } -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 _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } -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 _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 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 _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } -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 _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } -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 _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } -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 _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[((ptr)>>2)]=(now/1000)|0; // seconds + HEAP32[(((ptr)+(4))>>2)]=((now % 1000)*1000)|0; // microseconds + return 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 _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } -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 _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } -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 _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 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 _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 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 _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 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 _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } -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 _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} + + + + + var _environ; if (ENVIRONMENT_IS_PTHREAD) _environ = PthreadWorkerInit._environ; else PthreadWorkerInit._environ = _environ = allocate(1, "i32*", ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env) { + // WARNING: Arbitrary limit! + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + + // Statically allocate memory for the environment. + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + // Set default values. Use string keys for Closure Compiler compatibility. + ENV['USER'] = ENV['LOGNAME'] = 'web_user'; + ENV['PATH'] = '/'; + ENV['PWD'] = '/'; + ENV['HOME'] = '/home/web_user'; + ENV['LANG'] = 'C'; + ENV['_'] = Module['thisProgram']; + // Allocate memory. + poolPtr = allocate(TOTAL_ENV_SIZE, 'i8', ALLOC_STATIC); + envPtr = allocate(MAX_ENV_VALUES * 4, + 'i8*', ALLOC_STATIC); + HEAP32[((envPtr)>>2)]=poolPtr; + HEAP32[((_environ)>>2)]=envPtr; + } else { + envPtr = HEAP32[((_environ)>>2)]; + poolPtr = HEAP32[((envPtr)>>2)]; + } + + // Collect key=value lines. + var strings = []; + var totalSize = 0; + for (var key in env) { + if (typeof env[key] === 'string') { + var line = key + '=' + env[key]; + strings.push(line); + totalSize += line.length; + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error('Environment size exceeded TOTAL_ENV_SIZE!'); + } + + // Make new. + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[(((envPtr)+(i * ptrSize))>>2)]=poolPtr; + poolPtr += line.length + 1; + } + HEAP32[(((envPtr)+(strings.length * ptrSize))>>2)]=0; + }var ENV={};function _clearenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(112, name); + // int clearenv (void); + // http://www.gnu.org/s/hello/manual/libc/Environment-Access.html#index-clearenv-3107 + ENV = {}; + ___buildEnvironment(ENV); + return 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 _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } -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 _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } -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 _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } -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 _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } -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); - } -} + 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); + } -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; + 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); + } -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'; + 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) { - 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); + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + var _emscripten_asm_const=true; - 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; + function _chroot(path) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(37, path); + // int chroot(const char *path); + // http://pubs.opengroup.org/onlinepubs/7908799/xsh/chroot.html + ___setErrNo(ERRNO_CODES.EACCES); + return -1; + } - 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; + function _glEnable(x0) { GLctx['enable'](x0) } - 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; + + + 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 _unsetenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(114, name); + // int unsetenv(const char *name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/unsetenv.html + if (name === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + name = Pointer_stringify(name); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name)) { + delete ENV[name]; + ___buildEnvironment(ENV); + } + return 0; + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + + + 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']); + }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 ___clock_gettime() { + return _clock_gettime.apply(null, arguments) + } + + 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_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + + function __cleanup_thread(pthread_ptr) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _cleanup_thread() can only ever be called from main application thread!'; + if (!pthread_ptr) throw 'Internal Error! Null pthread_ptr in _cleanup_thread!'; + HEAP32[(((pthread_ptr)+(24))>>2)]=0; + var pthread = PThread.pthreads[pthread_ptr]; + var worker = pthread.worker; + PThread.freeThreadData(pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } + + function __pthread_testcancel_js() { + if (!ENVIRONMENT_IS_PTHREAD) return; + if (!threadInfoStruct) return; + var cancelDisabled = Atomics.load(HEAPU32, (threadInfoStruct + 72 ) >> 2); + if (cancelDisabled) return; + var canceled = Atomics.load(HEAPU32, (threadInfoStruct + 0 ) >> 2); + if (canceled == 2) throw 'Canceled!'; + }function _pthread_join(thread, status) { + if (!thread) { + Module['printErr']('pthread_join attempted on a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + if (ENVIRONMENT_IS_PTHREAD && selfThreadId == thread) { + Module['printErr']('PThread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + else if (!ENVIRONMENT_IS_PTHREAD && PThread.mainThreadBlock == thread) { + Module['printErr']('Main thread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_join attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var detached = Atomics.load(HEAPU32, (thread + 80 ) >> 2); + if (detached) { + Module['printErr']('Attempted to join thread ' + thread + ', which was already detached!'); + return ERRNO_CODES.EINVAL; // The thread is already detached, can no longer join it! + } + for (;;) { + var threadStatus = Atomics.load(HEAPU32, (thread + 0 ) >> 2); + if (threadStatus == 1) { // Exited? + var threadExitCode = Atomics.load(HEAPU32, (thread + 4 ) >> 2); + if (status) HEAP32[((status)>>2)]=threadExitCode; + Atomics.store(HEAPU32, (thread + 80 ) >> 2, 1); // Mark the thread as detached. + + if (!ENVIRONMENT_IS_PTHREAD) __cleanup_thread(thread); + else postMessage({ cmd: 'cleanupThread', thread: thread}); + return 0; + } + // TODO HACK! Replace the _js variant with just _pthread_testcancel: + //_pthread_testcancel(); + __pthread_testcancel_js(); + // In main runtime thread (the thread that initialized the Emscripten C runtime and launched main()), assist pthreads in performing operations + // that they need to access the Emscripten main runtime for. + if (!ENVIRONMENT_IS_PTHREAD) _emscripten_main_thread_process_queued_calls(); + _emscripten_futex_wait(thread + 0, threadStatus, ENVIRONMENT_IS_PTHREAD ? 100 : 1); + } + } + + + + 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 __main_thread_futex_wait_address; if (ENVIRONMENT_IS_PTHREAD) __main_thread_futex_wait_address = PthreadWorkerInit.__main_thread_futex_wait_address; else PthreadWorkerInit.__main_thread_futex_wait_address = __main_thread_futex_wait_address = allocate(1, "i32*", ALLOC_STATIC);function _emscripten_futex_wait(addr, val, timeout) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0) return -22; + // dump('futex_wait addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ENVIRONMENT_IS_WORKER) { + var ret = Atomics.wait(HEAP32, addr >> 2, val, timeout); + // dump('futex_wait done by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ret === 'timed-out') return -110; + if (ret === 'not-equal') return -11; + if (ret === 'ok') return 0; + throw 'Atomics.wait returned an unexpected value ' + ret; + } else { + // Atomics.wait is not available in the main browser thread, so simulate it via busy spinning. + var loadedVal = Atomics.load(HEAP32, addr >> 2); + if (val != loadedVal) return -11; + + var tNow = performance.now(); + var tEnd = tNow + timeout; + + + // Register globally which address the main thread is simulating to be waiting on. When zero, main thread is not waiting on anything, + // and on nonzero, the contents of address pointed by __main_thread_futex_wait_address tell which address the main thread is simulating its wait on. + Atomics.store(HEAP32, __main_thread_futex_wait_address >> 2, addr); + var ourWaitAddress = addr; // We may recursively re-enter this function while processing queued calls, in which case we'll do a spurious wakeup of the older wait operation. + while (addr == ourWaitAddress) { + tNow = performance.now(); + if (tNow > tEnd) { + return -110; + } + _emscripten_main_thread_process_queued_calls(); // We are performing a blocking loop here, so must pump any pthreads if they want to perform operations that are proxied. + addr = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); // Look for a worker thread waking us up. + } + return 0; + } + } + + 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; + } + + + + var cttz_i8; if (ENVIRONMENT_IS_PTHREAD) cttz_i8 = PthreadWorkerInit.cttz_i8; else PthreadWorkerInit.cttz_i8 = 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 _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 _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + 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_futex_wake(addr, count) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0 || count < 0) return -22; + if (count == 0) return 0; + // dump('futex_wake addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + + // See if main thread is waiting on this address? If so, wake it up by resetting its wake location to zero. + // Note that this is not a fair procedure, since we always wake main thread first before any workers, so + // this scheme does not adhere to real queue-based waiting. + var mainThreadWaitAddress = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); + var mainThreadWoken = 0; + if (mainThreadWaitAddress == addr) { + var loadedAddr = Atomics.compareExchange(HEAP32, __main_thread_futex_wait_address >> 2, mainThreadWaitAddress, 0); + if (loadedAddr == mainThreadWaitAddress) { + --count; + mainThreadWoken = 1; + if (count <= 0) return 1; + } + } + + // Wake any workers waiting on this address. + var ret = Atomics.wake(HEAP32, addr >> 2, count); + if (ret >= 0) return ret + mainThreadWoken; + throw 'Atomics.wake returned an unexpected value ' + ret; + } + + 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_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 __spawn_thread(threadParams) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _spawn_thread() can only ever be called from main application thread!'; + + var worker = PThread.getNewWorker(); + if (worker.pthread !== undefined) throw 'Internal error!'; + if (!threadParams.pthread_ptr) throw 'Internal error, no pthread ptr!'; + PThread.runningWorkers.push(worker); + + // Allocate memory for thread-local storage and initialize it to zero. + var tlsMemory = _malloc(128 * 4); + for (var i = 0; i < 128; ++i) { + HEAP32[(((tlsMemory)+(i*4))>>2)]=0; + } + + var pthread = PThread.pthreads[threadParams.pthread_ptr] = { // Create a pthread info object to represent this thread. + worker: worker, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + allocatedOwnStack: threadParams.allocatedOwnStack, + thread: threadParams.pthread_ptr, + threadInfoStruct: threadParams.pthread_ptr // Info area for this thread in Emscripten HEAP (shared) + }; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 0 ) >> 2, 0); // threadStatus <- 0, meaning not yet exited. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 4 ) >> 2, 0); // threadExitCode <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 20 ) >> 2, 0); // profilerBlock <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 80 ) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 60 ) >> 2, 0); // Mark initial status to unused. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 52 ) >> 2, pthread.threadInfoStruct); // Main thread ID. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 56 ) >> 2, PROCINFO.pid); // Process ID. + + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 96) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 92) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 8) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 12) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 20) >> 2, threadParams.schedPolicy); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 24) >> 2, threadParams.schedPrio); + + var global_libc = _emscripten_get_global_libc(); + var global_locale = global_libc + 40; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 188) >> 2, global_locale); + + + worker.pthread = pthread; + + // Ask the worker to start executing its pthread entry point function. + worker.postMessage({ + cmd: 'run', + start_routine: threadParams.startRoutine, + arg: threadParams.arg, + threadInfoStruct: threadParams.pthread_ptr, + selfThreadId: threadParams.pthread_ptr, // TODO: Remove this since thread ID is now the same as the thread address. + parentThreadId: threadParams.parent_pthread_ptr, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + }, threadParams.transferList); + } + + function _pthread_getschedparam(thread, policy, schedparam) { + if (!policy && !schedparam) return ERRNO_CODES.EINVAL; + + if (!thread) { + Module['printErr']('pthread_getschedparam called with a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_getschedparam attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var schedPolicy = Atomics.load(HEAPU32, (thread + 120 + 20 ) >> 2); + var schedPrio = Atomics.load(HEAPU32, (thread + 120 + 24 ) >> 2); + + if (policy) HEAP32[((policy)>>2)]=schedPolicy; + if (schedparam) HEAP32[((schedparam)>>2)]=schedPrio; + return 0; + } + + function _pthread_self() { + return __pthread_ptr|0; + }function _pthread_create(pthread_ptr, attr, start_routine, arg) { + if (typeof SharedArrayBuffer === 'undefined') { + Module['printErr']('Current environment does not support SharedArrayBuffer, pthreads are not available!'); + return 11; + } + if (!pthread_ptr) { + Module['printErr']('pthread_create called with a null thread pointer!'); + return 22; + } + + var transferList = []; // List of JS objects that will transfer ownership to the Worker hosting the thread + + + // Synchronously proxy the thread creation to main thread if possible. If we need to transfer ownership of objects, then + // proxy asynchronously via postMessage. + if (ENVIRONMENT_IS_PTHREAD && transferList.length == 0) { + return _emscripten_sync_run_in_main_thread_4(137, pthread_ptr, attr, start_routine, arg); + } + + var stackSize = 0; + var stackBase = 0; + var detached = 0; // Default thread attr is PTHREAD_CREATE_JOINABLE, i.e. start as not detached. + var schedPolicy = 0; /*SCHED_OTHER*/ + var schedPrio = 0; + if (attr) { + stackSize = HEAP32[((attr)>>2)]; + stackBase = HEAP32[(((attr)+(8))>>2)]; + detached = HEAP32[(((attr)+(12))>>2)] != 0/*PTHREAD_CREATE_JOINABLE*/; + var inheritSched = HEAP32[(((attr)+(16))>>2)] == 0/*PTHREAD_INHERIT_SCHED*/; + if (inheritSched) { + var prevSchedPolicy = HEAP32[(((attr)+(20))>>2)]; + var prevSchedPrio = HEAP32[(((attr)+(24))>>2)]; + _pthread_getschedparam(_pthread_self(), attr + 20, attr + 24); + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + HEAP32[(((attr)+(20))>>2)]=prevSchedPolicy; + HEAP32[(((attr)+(24))>>2)]=prevSchedPrio; + } else { + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + } + } + stackSize += 81920 /*DEFAULT_STACK_SIZE*/; + var allocatedOwnStack = stackBase == 0; // If allocatedOwnStack == true, then the pthread impl maintains the stack allocation. + if (allocatedOwnStack) { + stackBase = _malloc(stackSize); // Allocate a stack if the user doesn't want to place the stack in a custom memory area. + } else { + // Musl stores the stack base address assuming stack grows downwards, so adjust it to Emscripten convention that the + // stack grows upwards instead. + stackBase -= stackSize; + assert(stackBase > 0); + } + + // Allocate thread block (pthread_t structure). + var threadInfoStruct = _malloc(244); + for (var i = 0; i < 244 >> 2; ++i) HEAPU32[(threadInfoStruct>>2) + i] = 0; // zero-initialize thread structure. + HEAP32[((pthread_ptr)>>2)]=threadInfoStruct; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((threadInfoStruct)+(24))>>2)]=threadInfoStruct; + + // pthread struct robust_list head should point to itself. + var headPtr = threadInfoStruct + 168; + HEAP32[((headPtr)>>2)]=headPtr; + + var threadParams = { + stackBase: stackBase, + stackSize: stackSize, + allocatedOwnStack: allocatedOwnStack, + schedPolicy: schedPolicy, + schedPrio: schedPrio, + detached: detached, + startRoutine: start_routine, + pthread_ptr: threadInfoStruct, + parent_pthread_ptr: _pthread_self(), + arg: arg, + transferList: transferList + }; + + if (ENVIRONMENT_IS_PTHREAD) { + // The prepopulated pool of web workers that can host pthreads is stored in the main JS thread. Therefore if a + // pthread is attempting to spawn a new thread, the thread creation must be deferred to the main JS thread. + threadParams.cmd = 'spawnThread'; + postMessage(threadParams, transferList); + } else { + // We are the main thread, so we have the pthread warmup pool in this thread and can fire off JS thread creation + // directly ourselves. + __spawn_thread(threadParams); + } + + return 0; + } + + 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 _glfwGetKey(winid, key) { + return GLFW.getKey(winid, key); + } + + 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_set_current_thread_status_js(newStatus) { + } + Module["_emscripten_set_current_thread_status"] = _emscripten_set_current_thread_status; + + 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 _confstr(name, buf, len) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(68, name, buf, len); + // size_t confstr(int name, char *buf, size_t len); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/confstr.html + var value; + switch (name) { + case 0: + value = ENV['PATH'] || '/'; + break; + case 1: + // Mimicking glibc. + value = 'POSIX_V6_ILP32_OFF32\nPOSIX_V6_ILP32_OFFBIG'; + break; + case 2: + // This JS implementation was tested against this glibc version. + value = 'glibc 2.14'; + break; + case 3: + // We don't support pthreads. + value = ''; + break; + case 1118: + case 1122: + case 1124: + case 1125: + case 1126: + case 1128: + case 1129: + case 1130: + value = ''; + break; + case 1116: + case 1117: + case 1121: + value = '-m32'; + break; + case 1120: + value = '-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'; + break; + default: + ___setErrNo(ERRNO_CODES.EINVAL); + return 0; + } + if (len == 0 || buf == 0) { + return value.length + 1; + } else { + var length = Math.min(len, value.length); + for (var i = 0; i < length; i++) { + HEAP8[(((buf)+(i))>>0)]=value.charCodeAt(i); + } + if (len > length) HEAP8[(((buf)+(i++))>>0)]=0; + return i; + } + } + + 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 _getenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(111, name); + // char *getenv(const char *name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/getenv.html + if (name === 0) return 0; + name = Pointer_stringify(name); + if (!ENV.hasOwnProperty(name)) return 0; + + if (_getenv.ret) _free(_getenv.ret); + _getenv.ret = allocate(intArrayFromString(ENV[name]), 'i8', ALLOC_NORMAL); + return _getenv.ret; + } + + + function _emscripten_conditional_set_current_thread_status_js(expectedStatus, newStatus) { + } + Module["_emscripten_conditional_set_current_thread_status"] = _emscripten_conditional_set_current_thread_status; + + 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 _setenv(envname, envval, overwrite) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(113, envname, envval, overwrite); + // int setenv(const char *envname, const char *envval, int overwrite); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/setenv.html + if (envname === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = Pointer_stringify(envname); + var val = Pointer_stringify(envval); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name) && !overwrite) return 0; + ENV[name] = val; + ___buildEnvironment(ENV); + return 0; + } + + 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_syscall(which, varargs) { + switch (which) { + case 54: return ___syscall54(which, varargs); + case 6: return ___syscall6(which, varargs); + case 140: return ___syscall140(which, varargs); + case 146: return ___syscall146(which, varargs); + default: throw "surprising proxied syscall: " + which; + } + } + + 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 _fpathconf(fildes, name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(46, fildes, name); + // long fpathconf(int fildes, int name); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/encrypt.html + // NOTE: The first parameter is ignored, so pathconf == fpathconf. + // The constants here aren't real values. Just mimicking glibc. + switch (name) { + case 0: + return 32000; + case 1: + case 2: + case 3: + return 255; + case 4: + case 5: + case 16: + case 17: + case 18: + return 4096; + case 6: + case 7: + case 20: + return 1; + case 8: + return 0; + case 9: + case 10: + case 11: + case 12: + case 14: + case 15: + case 19: + return -1; + case 13: + return 64; + } + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + + function _putenv(string) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(115, string); + // int putenv(char *string); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/putenv.html + // WARNING: According to the standard (and the glibc implementation), the + // string is taken by reference so future changes are reflected. + // We copy it instead, possibly breaking some uses. + if (string === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + string = Pointer_stringify(string); + var splitPoint = string.indexOf('=') + if (string === '' || string.indexOf('=') === -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = string.slice(0, splitPoint); + var value = string.slice(splitPoint + 1); + if (!(name in ENV) || ENV[name] !== value) { + ENV[name] = value; + ___buildEnvironment(ENV); + } + return 0; + } + + 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 _utimes(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(13, path, times); + var time; + if (times) { + var offset = 8 + 0; + time = HEAP32[(((times)+(offset))>>2)] * 1000; + offset = 8 + 4; + time += HEAP32[(((times)+(offset))>>2)] / 1000; + } else { + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; + } + } + + 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) }; +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();; +if (!ENVIRONMENT_IS_PTHREAD) PThread.initMainThreadBlock();; +if (!ENVIRONMENT_IS_PTHREAD) ___buildEnvironment(ENV);; +if (!ENVIRONMENT_IS_PTHREAD) { + // Only main thread initializes these, pthreads copy them over at thread worker init time (in pthread-main.js) +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.asmGlobalArg['Atomics'] = Atomics; +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, "_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, "_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_glCompileShader": _emscripten_glCompileShader, "_sysconf": _sysconf, "_utime": _utime, "_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, "_chroot": _chroot, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_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, "__pthread_testcancel_js": __pthread_testcancel_js, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_unsetenv": _unsetenv, "_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, "_emscripten_get_now_is_monotonic": _emscripten_get_now_is_monotonic, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_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_asm_const_v": _emscripten_asm_const_v, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_pthread_self": _pthread_self, "_emscripten_glUniform3f": _emscripten_glUniform3f, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_glGenTextures": _glGenTextures, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "__register_pthread_ptr": __register_pthread_ptr, "_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_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_gettimeofday": _gettimeofday, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "__spawn_thread": __spawn_thread, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_conditional_set_current_thread_status_js": _emscripten_conditional_set_current_thread_status_js, "_putenv": _putenv, "_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, "_fpathconf": _fpathconf, "_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_is_main_runtime_thread": _emscripten_is_main_runtime_thread, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___buildEnvironment": ___buildEnvironment, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_utimes": _utimes, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_tzset": _tzset, "_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, "___clock_gettime": ___clock_gettime, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_clearenv": _clearenv, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_getenv": _getenv, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_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, "_emscripten_futex_wake": _emscripten_futex_wake, "_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, "__cleanup_thread": __cleanup_thread, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_set_current_thread_status_js": _emscripten_set_current_thread_status_js, "_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_glShaderSource": _emscripten_glShaderSource, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_syscall": _emscripten_syscall, "_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_futex_wait": _emscripten_futex_wait, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_glClear": _glClear, "_emscripten_glFrustum": _emscripten_glFrustum, "_emscripten_glDisable": _emscripten_glDisable, "_emscripten_glDepthRangef": _emscripten_glDepthRangef, "__exit": __exit, "_emscripten_glLineWidth": _emscripten_glLineWidth, "_emscripten_glGetShaderInfoLog": _emscripten_glGetShaderInfoLog, "_emscripten_glStencilOp": _emscripten_glStencilOp, "___pthread_setcancelstate": ___pthread_setcancelstate, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_confstr": _confstr, "_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, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_pthread_create": _pthread_create, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glBindRenderbuffer": _emscripten_glBindRenderbuffer, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_pthread_getschedparam": _pthread_getschedparam, "_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_glBufferData": _emscripten_glBufferData, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_atexit": _atexit, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_setenv": _setenv, "_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; @@ -6877,7 +11026,6 @@ var asm = (function(global, env, buffer) { 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; @@ -6888,6 +11036,7 @@ var asm = (function(global, env, buffer) { 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; @@ -6907,17 +11056,19 @@ var asm = (function(global, env, buffer) { var _glDisableVertexAttribArray=env._glDisableVertexAttribArray; var _glCreateShader=env._glCreateShader; var _emscripten_glReadPixels=env._emscripten_glReadPixels; + var _emscripten_glCompileShader=env._emscripten_glCompileShader; + var _sysconf=env._sysconf; + var _utime=env._utime; 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 _chroot=env._chroot; 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; @@ -6930,9 +11081,11 @@ var asm = (function(global, env, buffer) { var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; var _emscripten_glScissor=env._emscripten_glScissor; + var __pthread_testcancel_js=env.__pthread_testcancel_js; var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _unsetenv=env._unsetenv; var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; @@ -6940,13 +11093,14 @@ var asm = (function(global, env, buffer) { var _glfwSetErrorCallback=env._glfwSetErrorCallback; var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; var _glfwDestroyWindow=env._glfwDestroyWindow; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var ___syscall146=env.___syscall146; 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_glIsBuffer=env._emscripten_glIsBuffer; var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; var _glGetProgramInfoLog=env._glGetProgramInfoLog; var _glfwSetScrollCallback=env._glfwSetScrollCallback; @@ -6971,17 +11125,21 @@ var asm = (function(global, env, buffer) { var _glDepthFunc=env._glDepthFunc; var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_asm_const_v=env._emscripten_asm_const_v; 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 _pthread_self=env._pthread_self; + var _emscripten_glUniform3f=env._emscripten_glUniform3f; var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; var _emscripten_glRotatef=env._emscripten_glRotatef; var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; var _glEnable=env._glEnable; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; var _glGenTextures=env._glGenTextures; var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; var _glGetString=env._glGetString; @@ -6989,7 +11147,7 @@ var asm = (function(global, env, buffer) { var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; var emscriptenWebGLGet=env.emscriptenWebGLGet; var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var __register_pthread_ptr=env.__register_pthread_ptr; var _emscripten_get_now=env._emscripten_get_now; var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; var _glAttachShader=env._glAttachShader; @@ -6998,41 +11156,48 @@ var asm = (function(global, env, buffer) { 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_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; var _time=env._time; - var ___syscall146=env.___syscall146; + var _gettimeofday=env._gettimeofday; + 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 __spawn_thread=env.__spawn_thread; var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_conditional_set_current_thread_status_js=env._emscripten_conditional_set_current_thread_status_js; + var _putenv=env._putenv; 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 _fpathconf=env._fpathconf; 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_is_main_runtime_thread=env._emscripten_is_main_runtime_thread; 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 ___buildEnvironment=env.___buildEnvironment; var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _utimes=env._utimes; 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 _tzset=env._tzset; var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; @@ -7046,26 +11211,30 @@ var asm = (function(global, env, buffer) { var _glGetFloatv=env._glGetFloatv; var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var ___clock_gettime=env.___clock_gettime; 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 _clearenv=env._clearenv; var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; var _glCompileShader=env._glCompileShader; var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _getenv=env._getenv; 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_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; 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 _emscripten_futex_wake=env._emscripten_futex_wake; var _glFrontFace=env._glFrontFace; var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; @@ -7075,10 +11244,11 @@ var asm = (function(global, env, buffer) { var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; var _abort=env._abort; var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var __cleanup_thread=env.__cleanup_thread; var _glDeleteBuffers=env._glDeleteBuffers; var _glBufferData=env._glBufferData; var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _emscripten_set_current_thread_status_js=env._emscripten_set_current_thread_status_js; var _glfwSetKeyCallback=env._glfwSetKeyCallback; var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; @@ -7089,8 +11259,9 @@ var asm = (function(global, env, buffer) { var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_syscall=env._emscripten_syscall; var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; @@ -7100,33 +11271,35 @@ var asm = (function(global, env, buffer) { var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; var _glfwGetKey=env._glfwGetKey; var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + 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_futex_wait=env._emscripten_futex_wait; 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 _emscripten_request_pointerlock=env._emscripten_request_pointerlock; 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 ___pthread_setcancelstate=env.___pthread_setcancelstate; 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 _confstr=env._confstr; var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; var _emscripten_glBindTexture=env._emscripten_glBindTexture; @@ -7136,30 +11309,44 @@ var asm = (function(global, env, buffer) { var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; var ___syscall54=env.___syscall54; var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var _glfwWaitEvents=env._glfwWaitEvents; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; 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 _pthread_getschedparam=env._pthread_getschedparam; 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_glBufferData=env._emscripten_glBufferData; + var _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; var _glTexParameteri=env._glTexParameteri; var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _atexit=env._atexit; 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 _setenv=env._setenv; var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + var Atomics_load=global.Atomics.load; + var Atomics_store=global.Atomics.store; + var Atomics_exchange=global.Atomics.exchange; + var Atomics_compareExchange=global.Atomics.compareExchange; + var Atomics_add=global.Atomics.add; + var Atomics_sub=global.Atomics.sub; + var Atomics_and=global.Atomics.and; + var Atomics_or=global.Atomics.or; + var Atomics_xor=global.Atomics.xor; var tempFloat = 0.0; // EMSCRIPTEN_START_FUNCS @@ -7208,7 +11395,7 @@ function getTempRet0() { function _InitPhysics() { var label = 0, sp = 0; sp = STACKTOP; - (_pthread_create((14120|0),(0|0),(2|0),(0|0))|0); + (_pthread_create((14272|0),(0|0),(2|0),(0|0))|0); return; } function _PhysicsLoop($0) { @@ -7216,53 +11403,53 @@ function _PhysicsLoop($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; + HEAP32[3569] = 1; + HEAPF64[1746] = 0.0; _InitTimer(); - $1 = HEAP32[3531]|0; + $1 = HEAP32[3569]|0; $2 = ($1|0)==(0); if (!($2)) { while(1) { $3 = (+_GetCurrentTime()); - HEAPF64[1728] = $3; - $4 = +HEAPF64[1729]; + HEAPF64[1747] = $3; + $4 = +HEAPF64[1748]; $5 = $3 - $4; - HEAPF64[1730] = $5; - $6 = +HEAPF64[1727]; + HEAPF64[1749] = $5; + $6 = +HEAPF64[1746]; $7 = $5 + $6; - HEAPF64[1727] = $7; + HEAPF64[1746] = $7; _MathClamp(); - $$pr = +HEAPF64[1727]; + $$pr = +HEAPF64[1746]; $8 = !($$pr >= 0.016666666666666666); if (!($8)) { while(1) { _PhysicsStep(); - $9 = +HEAPF64[1730]; - $10 = +HEAPF64[1727]; + $9 = +HEAPF64[1749]; + $10 = +HEAPF64[1746]; $11 = $10 - $9; - HEAPF64[1727] = $11; + HEAPF64[1746] = $11; $12 = !($11 >= 0.016666666666666666); if ($12) { break; } } } - $13 = +HEAPF64[1728]; - HEAPF64[1729] = $13; - $14 = HEAP32[3531]|0; + $13 = +HEAPF64[1747]; + HEAPF64[1748] = $13; + $14 = HEAP32[3569]|0; $15 = ($14|0)==(0); if ($15) { break; } } } - $16 = HEAP32[3598]|0; + $16 = HEAP32[3636]|0; $$0912 = (($16) + -1)|0; $17 = ($$0912|0)>(-1); if ($17) { $$0913 = $$0912; while(1) { - $20 = (14396 + ($$0913<<2)|0); + $20 = (14548 + ($$0913<<2)|0); $21 = HEAP32[$20>>2]|0; _DestroyPhysicsManifold($21); $$09 = (($$0913) + -1)|0; @@ -7274,7 +11461,7 @@ function _PhysicsLoop($0) { } } } - $18 = HEAP32[3533]|0; + $18 = HEAP32[3571]|0; $$010 = (($18) + -1)|0; $19 = ($$010|0)>(-1); if ($19) { @@ -7283,7 +11470,7 @@ function _PhysicsLoop($0) { return (0|0); } while(1) { - $23 = (14136 + ($$011<<2)|0); + $23 = (14288 + ($$011<<2)|0); $24 = HEAP32[$23>>2]|0; _DestroyPhysicsBody($24); $$0 = (($$011) + -1)|0; @@ -7318,10 +11505,10 @@ function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { $6 = sp + 8|0; $7 = sp; $8 = (_malloc(500)|0); - $9 = HEAP32[3532]|0; + $9 = HEAP32[3570]|0; $10 = (($9) + 500)|0; - HEAP32[3532] = $10; - $11 = HEAP32[3533]|0; + HEAP32[3570] = $10; + $11 = HEAP32[3571]|0; $12 = ($11|0)==(0); $$0116149 = 0; L1: while(1) { @@ -7332,7 +11519,7 @@ function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { $$0119144 = 0; } while(1) { - $15 = (14136 + ($$0119144<<2)|0); + $15 = (14288 + ($$0119144<<2)|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$16>>2]|0; $18 = ($17|0)==($$0116149|0); @@ -7533,11 +11720,11 @@ function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { HEAP32[$120>>2] = 0; $121 = ((($8)) + 80|0); HEAP32[$121>>2] = 0; - $122 = HEAP32[3533]|0; - $123 = (14136 + ($122<<2)|0); + $122 = HEAP32[3571]|0; + $123 = (14288 + ($122<<2)|0); HEAP32[$123>>2] = $8; $124 = (($122) + 1)|0; - HEAP32[3533] = $124; + HEAP32[3571] = $124; STACKTOP = sp;return ($8|0); } function _CreateRectanglePolygon($0,$1,$2) { @@ -7719,16 +11906,16 @@ function _DestroyPhysicsBody($0) { return; } $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[3533]|0; + $3 = HEAP32[3571]|0; $4 = ($3|0)==(0); L4: do { if ($4) { $$021 = -1; } else { - $5 = HEAP32[3533]|0; + $5 = HEAP32[3571]|0; $$02023 = 0; while(1) { - $6 = (14136 + ($$02023<<2)|0); + $6 = (14288 + ($$02023<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==($2|0); @@ -7747,24 +11934,24 @@ function _DestroyPhysicsBody($0) { } } } while(0); - $12 = (14136 + ($$021<<2)|0); + $12 = (14288 + ($$021<<2)|0); $13 = HEAP32[$12>>2]|0; _free($13); - $14 = HEAP32[3532]|0; + $14 = HEAP32[3570]|0; $15 = (($14) + -500)|0; - HEAP32[3532] = $15; + HEAP32[3570] = $15; HEAP32[$12>>2] = 0; - $16 = HEAP32[3533]|0; + $16 = HEAP32[3571]|0; $17 = ($$021>>>0)<($16>>>0); if ($17) { - $18 = HEAP32[3533]|0; + $18 = HEAP32[3571]|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); + $24 = (14288 + ($$022<<2)|0); + $25 = (14288 + ($20<<2)|0); $26 = HEAP32[$25>>2]|0; HEAP32[$24>>2] = $26; } @@ -7780,7 +11967,7 @@ function _DestroyPhysicsBody($0) { $$lcssa = $16; } $19 = (($$lcssa) + -1)|0; - HEAP32[3533] = $19; + HEAP32[3571] = $19; return; } function _Vector2Subtract_4($0,$1,$2) { @@ -7825,20 +12012,20 @@ function _MathNormalize($0) { function _GetPhysicsBodiesCount() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3533]|0; + $0 = HEAP32[3571]|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; + $1 = HEAP32[3571]|0; $2 = ($1>>>0)>($0>>>0); if (!($2)) { $$0 = 0; return ($$0|0); } - $3 = (14136 + ($0<<2)|0); + $3 = (14288 + ($0<<2)|0); $4 = HEAP32[$3>>2]|0; $$0 = $4; return ($$0|0); @@ -7847,11 +12034,11 @@ 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; + $1 = HEAP32[3571]|0; $2 = ($1>>>0)>($0>>>0); L1: do { if ($2) { - $3 = (14136 + ($0<<2)|0); + $3 = (14288 + ($0<<2)|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)==(0|0); if ($5) { @@ -8001,221 +12188,280 @@ function _Mat2Radians($0,$1) { function _ClosePhysics() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - HEAP32[3531] = 0; - $0 = HEAP32[3530]|0; + HEAP32[3569] = 0; + $0 = HEAP32[3568]|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; + var $$byval_copy5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0.0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0; + var $26 = 0.0, $27 = 0.0, $28 = 0, $29 = 0.0, $3 = 0, $30 = 0.0, $31 = 0, $32 = 0, $33 = 0.0, $34 = 0.0, $35 = 0, $36 = 0, $37 = 0.0, $38 = 0.0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0, $46 = 0.0, $47 = 0.0, $48 = 0, $49 = 0, $5 = 0, $50 = 0, $51 = 0.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; + var $62 = 0, $63 = 0, $64 = 0, $65 = 0.0, $66 = 0, $67 = 0, $68 = 0, $69 = 0.0, $7 = 0, $70 = 0, $71 = 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_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; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy5 = sp + 48|0; + $0 = sp + 40|0; + $1 = sp + 32|0; + $2 = sp + 24|0; + $3 = sp + 16|0; + $4 = sp + 8|0; + $5 = sp; _SetConfigFlags(32); - _InitWindow(800,450,3480); - _SetTargetFPS(60); - $14 = (_MeasureText(3515,30)|0); - $15 = (800 - ($14))|0; - $16 = (($15) + -10)|0; + $6 = HEAP32[2]|0; + $7 = HEAP32[3]|0; + _InitWindow($6,$7,3248); + $8 = HEAP32[2]|0; + $9 = (_MeasureText(3283,30)|0); + $10 = (($8) + -10)|0; + $11 = (($10) - ($9))|0; + HEAP32[7733] = $11; _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); + $12 = HEAP32[2]|0; + $13 = (($12|0) / 2)&-1; + $14 = (+($13|0)); + HEAPF32[$0>>2] = $14; + $15 = ((($0)) + 4|0); + $16 = HEAP32[3]|0; + $17 = (+($16|0)); + HEAPF32[$15>>2] = $17; + $18 = HEAP32[2]|0; + $19 = (+($18|0)); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0; + $20 = (_CreatePhysicsBodyRectangle($$byval_copy5,$19,100.0,10.0)|0); + $21 = HEAP32[2]|0; + $22 = (+($21|0)); + $23 = $22 * 0.25; + HEAPF32[$1>>2] = $23; + $24 = ((($1)) + 4|0); + $25 = HEAP32[3]|0; + $26 = (+($25|0)); + $27 = $26 * 0.60000002384185791; + HEAPF32[$24>>2] = $27; + $28 = HEAP32[2]|0; + $29 = (+($28|0)); + $30 = $29 * 0.25; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$1+4>>2]|0; + $31 = (_CreatePhysicsBodyRectangle($$byval_copy5,$30,10.0,10.0)|0); + $32 = HEAP32[2]|0; + $33 = (+($32|0)); + $34 = $33 * 0.75; + HEAPF32[$2>>2] = $34; + $35 = ((($2)) + 4|0); + $36 = HEAP32[3]|0; + $37 = (+($36|0)); + $38 = $37 * 0.60000002384185791; + HEAPF32[$35>>2] = $38; + $39 = HEAP32[2]|0; + $40 = (+($39|0)); + $41 = $40 * 0.25; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$2+4>>2]|0; + $42 = (_CreatePhysicsBodyRectangle($$byval_copy5,$41,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; - } - } + $43 = ((($3)) + 4|0); + $44 = HEAP32[3]|0; + $45 = (($44|0) / 2)&-1; + $46 = (+($45|0)); + HEAPF32[$43>>2] = $46; + $47 = (+($44|0)); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$3+4>>2]|0; + $48 = (_CreatePhysicsBodyRectangle($$byval_copy5,10.0,$47,10.0)|0); + $49 = HEAP32[2]|0; + $50 = (($49) + 5)|0; + $51 = (+($50|0)); + HEAPF32[$4>>2] = $51; + $52 = ((($4)) + 4|0); + $53 = HEAP32[3]|0; + $54 = (($53|0) / 2)&-1; + $55 = (+($54|0)); + HEAPF32[$52>>2] = $55; + $56 = (+($53|0)); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$4>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$4+4>>2]|0; + $57 = (_CreatePhysicsBodyRectangle($$byval_copy5,10.0,$56,10.0)|0); + $58 = ((($20)) + 4|0); + HEAP32[$58>>2] = 0; + $59 = ((($31)) + 4|0); + HEAP32[$59>>2] = 0; + $60 = ((($42)) + 4|0); + HEAP32[$60>>2] = 0; + $61 = ((($48)) + 4|0); + HEAP32[$61>>2] = 0; + $62 = ((($57)) + 4|0); + HEAP32[$62>>2] = 0; + $63 = HEAP32[2]|0; + $64 = (($63|0) / 2)&-1; + $65 = (+($64|0)); + HEAPF32[$5>>2] = $65; + $66 = ((($5)) + 4|0); + $67 = HEAP32[3]|0; + $68 = (($67|0) / 2)&-1; + $69 = (+($68|0)); + HEAPF32[$66>>2] = $69; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$5>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$5+4>>2]|0; + $70 = (_CreatePhysicsBodyRectangle($$byval_copy5,50.0,50.0,1.0)|0); + HEAP32[7734] = $70; + $71 = ((($70)) + 80|0); + HEAP32[$71>>2] = 1; + _emscripten_set_main_loop((1|0),0,1); _ClosePhysics(); _CloseWindow(); STACKTOP = sp;return 0; } +function _UpdateDrawFrame() { + var $$03233 = 0, $$034 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 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.0, $14 = 0, $15 = 0, $16 = 0.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, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $exitcond = 0, $exitcond38 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); + $$byval_copy3 = sp + 56|0; + $$byval_copy2 = sp + 40|0; + $$byval_copy1 = sp + 32|0; + $0 = sp + 52|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp + 48|0; + $4 = sp + 28|0; + $5 = sp + 24|0; + $6 = sp + 4|0; + $7 = sp; + $8 = (_IsKeyPressed(82)|0); + $9 = ($8|0)==(0); + if (!($9)) { + $10 = HEAP32[7734]|0; + $11 = HEAP32[2]|0; + $12 = (($11|0) / 2)&-1; + $13 = (+($12|0)); + $14 = HEAP32[3]|0; + $15 = (($14|0) / 2)&-1; + $16 = (+($15|0)); + $$sroa$029$0$$sroa_idx = ((($10)) + 8|0); + HEAPF32[$$sroa$029$0$$sroa_idx>>2] = $13; + $$sroa$230$0$$sroa_idx31 = ((($10)) + 12|0); + HEAPF32[$$sroa$230$0$$sroa_idx31>>2] = $16; + $$sroa$0$0$$sroa_idx = ((($10)) + 16|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + $$sroa$2$0$$sroa_idx28 = ((($10)) + 20|0); + HEAPF32[$$sroa$2$0$$sroa_idx28>>2] = 0.0; + _SetPhysicsBodyRotation($10,0.0); + } + $17 = (_IsKeyDown(262)|0); + $18 = ($17|0)==(0); + if ($18) { + $19 = (_IsKeyDown(263)|0); + $20 = ($19|0)==(0); + if (!($20)) { + $$sink = -0.5; + label = 5; + } + } else { + $$sink = 0.5; + label = 5; + } + if ((label|0) == 5) { + $21 = HEAP32[7734]|0; + $22 = ((($21)) + 16|0); + HEAPF32[$22>>2] = $$sink; + } + $23 = (_IsKeyDown(265)|0); + $24 = ($23|0)==(0); + if (!($24)) { + $25 = HEAP32[7734]|0; + $26 = ((($25)) + 76|0); + $27 = HEAP32[$26>>2]|0; + $28 = ($27|0)==(0); + if (!($28)) { + $29 = ((($25)) + 20|0); + HEAPF32[$29>>2] = -2.0; + } + } + _BeginDrawing(); + HEAP8[$0>>0] = 0; + $30 = ((($0)) + 1|0); + HEAP8[$30>>0] = 0; + $31 = ((($0)) + 2|0); + HEAP8[$31>>0] = 0; + $32 = ((($0)) + 3|0); + HEAP8[$32>>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); + $33 = HEAP32[2]|0; + $34 = (($33) + -90)|0; + $35 = HEAP32[3]|0; + $36 = (($35) + -30)|0; + _DrawFPS($34,$36); + $37 = (_GetPhysicsBodiesCount()|0); + $38 = ($37|0)>(0); + if ($38) { + $39 = ((($3)) + 1|0); + $40 = ((($3)) + 2|0); + $41 = ((($3)) + 3|0); + $$034 = 0; + while(1) { + $48 = (_GetPhysicsBody($$034)|0); + $49 = (_GetPhysicsShapeVerticesCount($$034)|0); + $50 = ($49|0)>(0); + if ($50) { + $$03233 = 0; + while(1) { + _GetPhysicsShapeVertex($1,$48,$$03233); + $52 = (($$03233) + 1)|0; + $53 = ($52|0)<($49|0); + $54 = $53 ? $52 : 0; + _GetPhysicsShapeVertex($2,$48,$54); + HEAP8[$3>>0] = 0; + HEAP8[$39>>0] = -28; + HEAP8[$40>>0] = 48; + HEAP8[$41>>0] = -1; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>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; + _DrawLineV($$byval_copy1,$$byval_copy2,$$byval_copy3); + $exitcond = ($52|0)==($49|0); + if ($exitcond) { + break; + } else { + $$03233 = $52; + } + } + } + $51 = (($$034) + 1)|0; + $exitcond38 = ($51|0)==($37|0); + if ($exitcond38) { + break; + } else { + $$034 = $51; + } + } + } + HEAP32[$4>>2] = -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(3290,10,10,10,$$byval_copy3); + HEAP32[$5>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$5+3>>0]|0; + _DrawText(3318,10,30,10,$$byval_copy3); + $42 = HEAP32[7733]|0; + $43 = HEAP32[4]|0; + HEAP32[$6>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$6+3>>0]|0; + _DrawText(3283,$42,$43,30,$$byval_copy3); + $44 = HEAP32[7733]|0; + $45 = (($44) + 50)|0; + $46 = HEAP32[4]|0; + $47 = (($46) + -7)|0; + HEAP32[$7>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$7+3>>0]|0; + _DrawText(3345,$45,$47,10,$$byval_copy3); + _EndDrawing(); + 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 = (+_GetCurrentTime()); - HEAPF64[1729] = $1; + HEAPF64[1748] = $1; return; } function _GetCurrentTime() { @@ -8242,7 +12488,7 @@ function _GetCurrentTime() { function _MathClamp() { var $$sink = 0.0, $0 = 0.0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[1727]; + $0 = +HEAPF64[1746]; $1 = $0 < 0.0; if ($1) { $$sink = 0.0; @@ -8254,7 +12500,7 @@ function _MathClamp() { return; } } - HEAPF64[1727] = $$sink; + HEAPF64[1746] = $$sink; return; } function _PhysicsStep() { @@ -8268,16 +12514,16 @@ function _PhysicsStep() { 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; + $0 = HEAP32[7735]|0; $1 = (($0) + 1)|0; - HEAP32[7695] = $1; - $2 = HEAP32[3598]|0; + HEAP32[7735] = $1; + $2 = HEAP32[3636]|0; $$0167 = (($2) + -1)|0; $3 = ($$0167|0)>(-1); if ($3) { $$0168 = $$0167; while(1) { - $6 = (14396 + ($$0168<<2)|0); + $6 = (14548 + ($$0168<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==(0|0); if (!($8)) { @@ -8292,7 +12538,7 @@ function _PhysicsStep() { } } } - $4 = HEAP32[3533]|0; + $4 = HEAP32[3571]|0; $5 = ($4|0)==(0); if ($5) { $17 = $4; @@ -8300,7 +12546,7 @@ function _PhysicsStep() { } else { $$0125165 = 0; while(1) { - $11 = (14136 + ($$0125165<<2)|0); + $11 = (14288 + ($$0125165<<2)|0); $12 = HEAP32[$11>>2]|0; $13 = ((($12)) + 76|0); HEAP32[$13>>2] = 0; @@ -8312,24 +12558,24 @@ function _PhysicsStep() { break; } } - $$pr = HEAP32[3533]|0; + $$pr = HEAP32[3571]|0; $10 = ($$pr|0)==(0); if (!($10)) { $$0126163 = 0; while(1) { - $19 = (14136 + ($$0126163<<2)|0); + $19 = (14288 + ($$0126163<<2)|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)==(0|0); if (!($21)) { $$0130160 = (($$0126163) + 1)|0; - $22 = HEAP32[3533]|0; + $22 = HEAP32[3571]|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); + $26 = (14288 + ($$0130161<<2)|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)==(0|0); do { @@ -8435,7 +12681,7 @@ function _PhysicsStep() { } } while(0); $$0130 = (($$0130161) + 1)|0; - $29 = HEAP32[3533]|0; + $29 = HEAP32[3571]|0; $30 = ($$0130>>>0)<($29>>>0); if ($30) { $$0130161 = $$0130; @@ -8446,7 +12692,7 @@ function _PhysicsStep() { } } $97 = (($$0126163) + 1)|0; - $98 = HEAP32[3533]|0; + $98 = HEAP32[3571]|0; $99 = ($97>>>0)<($98>>>0); if ($99) { $$0126163 = $97; @@ -8461,10 +12707,10 @@ function _PhysicsStep() { if ((label|0) == 8) { $16 = ($17|0)==(0); if (!($16)) { - $18 = HEAP32[3533]|0; + $18 = HEAP32[3571]|0; $$0135158 = 0; while(1) { - $103 = (14136 + ($$0135158<<2)|0); + $103 = (14288 + ($$0135158<<2)|0); $104 = HEAP32[$103>>2]|0; $105 = ($104|0)==(0|0); if (!($105)) { @@ -8480,15 +12726,15 @@ function _PhysicsStep() { } } } - $100 = HEAP32[3598]|0; + $100 = HEAP32[3636]|0; $101 = ($100|0)==(0); if ($101) { $$0134155 = 0;$114 = 0; } else { - $102 = HEAP32[3598]|0; + $102 = HEAP32[3636]|0; $$0136156 = 0; while(1) { - $108 = (14396 + ($$0136156<<2)|0); + $108 = (14548 + ($$0136156<<2)|0); $109 = HEAP32[$108>>2]|0; $110 = ($109|0)==(0|0); if (!($110)) { @@ -8508,12 +12754,12 @@ function _PhysicsStep() { while(1) { if ((label|0) == 32) { label = 0; - $$pr172 = HEAP32[3598]|0; + $$pr172 = HEAP32[3636]|0; $$0134155 = $$0134155$ph;$114 = $$pr172; } $113 = ($114|0)==(0); if (!($113)) { - $115 = (14396 + ($$0134155<<2)|0); + $115 = (14548 + ($$0134155<<2)|0); $$0133152 = 0; while(1) { $120 = HEAP32[$115>>2]|0; @@ -8522,7 +12768,7 @@ function _PhysicsStep() { _IntegratePhysicsImpulses($120); } $122 = (($$0133152) + 1)|0; - $123 = HEAP32[3598]|0; + $123 = HEAP32[3636]|0; $124 = ($122>>>0)<($123>>>0); if ($124) { $$0133152 = $122; @@ -8540,13 +12786,13 @@ function _PhysicsStep() { label = 32; } } - $116 = HEAP32[3533]|0; + $116 = HEAP32[3571]|0; $117 = ($116|0)==(0); if (!($117)) { - $118 = HEAP32[3533]|0; + $118 = HEAP32[3571]|0; $$0131150 = 0; while(1) { - $128 = (14136 + ($$0131150<<2)|0); + $128 = (14288 + ($$0131150<<2)|0); $129 = HEAP32[$128>>2]|0; $130 = ($129|0)==(0|0); if (!($130)) { @@ -8561,13 +12807,13 @@ function _PhysicsStep() { } } } - $125 = HEAP32[3598]|0; + $125 = HEAP32[3636]|0; $126 = ($125|0)==(0); if (!($126)) { - $127 = HEAP32[3598]|0; + $127 = HEAP32[3636]|0; $$0129148 = 0; while(1) { - $136 = (14396 + ($$0129148<<2)|0); + $136 = (14548 + ($$0129148<<2)|0); $137 = HEAP32[$136>>2]|0; $138 = ($137|0)==(0|0); if (!($138)) { @@ -8582,15 +12828,15 @@ function _PhysicsStep() { } } } - $133 = HEAP32[3533]|0; + $133 = HEAP32[3571]|0; $134 = ($133|0)==(0); if ($134) { return; } - $135 = HEAP32[3533]|0; + $135 = HEAP32[3571]|0; $$0127147 = 0; while(1) { - $141 = (14136 + ($$0127147<<2)|0); + $141 = (14288 + ($$0127147<<2)|0); $142 = HEAP32[$141>>2]|0; $143 = ($142|0)==(0|0); if (!($143)) { @@ -8621,16 +12867,16 @@ function _DestroyPhysicsManifold($0) { return; } $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[3598]|0; + $3 = HEAP32[3636]|0; $4 = ($3|0)==(0); L4: do { if ($4) { $$021 = -1; } else { - $5 = HEAP32[3598]|0; + $5 = HEAP32[3636]|0; $$02023 = 0; while(1) { - $6 = (14396 + ($$02023<<2)|0); + $6 = (14548 + ($$02023<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==($2|0); @@ -8649,24 +12895,24 @@ function _DestroyPhysicsManifold($0) { } } } while(0); - $12 = (14396 + ($$021<<2)|0); + $12 = (14548 + ($$021<<2)|0); $13 = HEAP32[$12>>2]|0; _free($13); - $14 = HEAP32[3532]|0; + $14 = HEAP32[3570]|0; $15 = (($14) + -56)|0; - HEAP32[3532] = $15; + HEAP32[3570] = $15; HEAP32[$12>>2] = 0; - $16 = HEAP32[3598]|0; + $16 = HEAP32[3636]|0; $17 = ($$021>>>0)<($16>>>0); if ($17) { - $18 = HEAP32[3598]|0; + $18 = HEAP32[3636]|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); + $24 = (14548 + ($$022<<2)|0); + $25 = (14548 + ($20<<2)|0); $26 = HEAP32[$25>>2]|0; HEAP32[$24>>2] = $26; } @@ -8682,7 +12928,7 @@ function _DestroyPhysicsManifold($0) { $$lcssa = $16; } $19 = (($$lcssa) + -1)|0; - HEAP32[3598] = $19; + HEAP32[3636] = $19; return; } function _CreatePhysicsManifold($0,$1) { @@ -8692,10 +12938,10 @@ function _CreatePhysicsManifold($0,$1) { 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; + $3 = HEAP32[3570]|0; $4 = (($3) + 56)|0; - HEAP32[3532] = $4; - $5 = HEAP32[3598]|0; + HEAP32[3570] = $4; + $5 = HEAP32[3636]|0; $6 = ($5|0)==(0); $$04457 = 0; L1: while(1) { @@ -8706,7 +12952,7 @@ function _CreatePhysicsManifold($0,$1) { $$04755 = 0; } while(1) { - $9 = (14396 + ($$04755<<2)|0); + $9 = (14548 + ($$04755<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$10>>2]|0; $12 = ($11|0)==($$04457|0); @@ -8749,11 +12995,11 @@ function _CreatePhysicsManifold($0,$1) { 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); + $19 = HEAP32[3636]|0; + $20 = (14548 + ($19<<2)|0); HEAP32[$20>>2] = $2; $21 = (($19) + 1)|0; - HEAP32[3598] = $21; + HEAP32[3636] = $21; return ($2|0); } function _SolvePhysicsManifold($0) { @@ -8853,7 +13099,7 @@ function _IntegratePhysicsForces($0) { $8 = +HEAPF32[$7>>2]; $9 = $2 * $8; $10 = $9; - $11 = +HEAPF64[1730]; + $11 = +HEAPF64[1749]; $12 = $11 * 0.5; $13 = $10 * $12; $14 = ((($0)) + 16|0); @@ -8877,7 +13123,7 @@ function _IntegratePhysicsForces($0) { $30 = HEAP32[$29>>2]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = +HEAPF32[7696]; + $32 = +HEAPF32[7736]; $33 = $32; $34 = $12 * $33; $35 = +HEAPF32[$14>>2]; @@ -8885,7 +13131,7 @@ function _IntegratePhysicsForces($0) { $37 = $36 + $34; $38 = $37; HEAPF32[$14>>2] = $38; - $39 = +HEAPF32[2]; + $39 = +HEAPF32[5]; $40 = $39; $41 = $12 * $40; $42 = +HEAPF32[$24>>2]; @@ -8970,13 +13216,13 @@ function _InitializePhysicsManifolds($0) { $39 = ((($7)) + 20|0); $40 = ((($$byval_copy9)) + 4|0); $41 = ((($4)) + 4|0); - $42 = +HEAPF32[7696]; + $42 = +HEAPF32[7736]; $43 = $42; - $44 = +HEAPF64[1730]; + $44 = +HEAPF64[1749]; $45 = $43 * $44; $46 = $45; $47 = ((($5)) + 4|0); - $48 = +HEAPF32[2]; + $48 = +HEAPF32[5]; $49 = $48; $50 = $49 * $44; $51 = $50; @@ -9473,7 +13719,7 @@ function _IntegratePhysicsVelocity($0) { $4 = ((($0)) + 16|0); $5 = +HEAPF32[$4>>2]; $6 = $5; - $7 = +HEAPF64[1730]; + $7 = +HEAPF64[1749]; $8 = $6 * $7; $9 = ((($0)) + 8|0); $10 = +HEAPF32[$9>>2]; @@ -11894,7 +16140,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[7698] = $2; + HEAP32[7738] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -11907,7 +16153,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 13848; + $95 = 14000; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -11920,48 +16166,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 13888; + $106 = 14040; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[3472]; - $111 = +HEAPF32[3462]; + $110 = +HEAPF32[3510]; + $111 = +HEAPF32[3500]; $112 = $110 - $111; - HEAPF32[3474] = $112; - $113 = +HEAPF32[(13892)>>2]; - $114 = +HEAPF32[(13852)>>2]; + HEAPF32[3512] = $112; + $113 = +HEAPF32[(14044)>>2]; + $114 = +HEAPF32[(14004)>>2]; $115 = $113 - $114; - HEAPF32[(13900)>>2] = $115; - HEAP32[7697] = 4; + HEAPF32[(14052)>>2] = $115; + HEAP32[7737] = 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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14032+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[7703] = $116; - $117 = 13880; + HEAPF32[7743] = $116; + $117 = 14032; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 13848; + $123 = 14000; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 13904; + $127 = 14056; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 13888; + $133 = 14040; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -11974,7 +16220,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 13880; + $144 = 14032; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -11987,27 +16233,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 13904; + $155 = 14056; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[3476]; - $160 = +HEAPF32[3470]; + $159 = +HEAPF32[3514]; + $160 = +HEAPF32[3508]; $161 = $159 - $160; - HEAPF32[3474] = $161; - $162 = +HEAPF32[(13908)>>2]; - $163 = +HEAPF32[(13884)>>2]; + HEAPF32[3512] = $161; + $162 = +HEAPF32[(14060)>>2]; + $163 = +HEAPF32[(14036)>>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; + HEAPF32[(14052)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14032+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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -12019,31 +16265,31 @@ function _ProcessGestureEvent($0) { 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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14032+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[7703]; + $170 = +HEAPF32[7743]; $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; + HEAP32[7737] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14032+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[7704] = $174; + HEAPF32[7744] = $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; + HEAPF32[7743] = 0.0; + HEAPF32[7744] = 0.0; + HEAPF32[3512] = 0.0; + HEAPF32[(14052)>>2] = 0.0; + HEAP32[7738] = 0; + HEAP32[7737] = 0; STACKTOP = sp;return; break; } @@ -12053,22 +16299,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[7699]|0; + $6 = HEAP32[7739]|0; $7 = (($6) + 1)|0; - HEAP32[7699] = $7; - $8 = HEAP32[7697]|0; + HEAP32[7739] = $7; + $8 = HEAP32[7737]|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[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+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; + HEAP32[7737] = 2; + HEAP32[7739] = 0; } else { label = 6; } @@ -12076,8 +16322,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[7699] = 1; - HEAP32[7697] = 1; + HEAP32[7739] = 1; + HEAP32[7737] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -12086,19 +16332,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 13848; + $21 = 14000; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 13856; + $25 = 14008; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 13864; + $29 = 14016; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -12106,14 +16352,14 @@ function _ProcessGestureEvent($0) { 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; + HEAP32[6] = $34; + HEAPF32[3506] = 0.0; + HEAPF32[(14028)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[7697]|0; + $35 = HEAP32[7737]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12123,31 +16369,31 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 13864; + $44 = 14016; $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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14016>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14016+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[7700] = $49; - HEAP32[7701] = 0; + HEAPF32[7740] = $49; + HEAP32[7741] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { - $51 = HEAP32[3]|0; + $51 = HEAP32[6]|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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14016>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14016+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[7702] = $56; + HEAPF32[7742] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12178,22 +16424,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[7700] = 0.0; - HEAPF32[7702] = 0.0; + HEAPF32[7740] = 0.0; + HEAPF32[7742] = 0.0; $$sink10 = 0; } - HEAP32[7697] = $$sink10; - HEAPF32[3464] = 0.0; - HEAPF32[(13860)>>2] = 0.0; - HEAP32[7698] = 0; + HEAP32[7737] = $$sink10; + HEAPF32[3502] = 0.0; + HEAPF32[(14012)>>2] = 0.0; + HEAP32[7738] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[7701]|0; + $65 = HEAP32[7741]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[7701] = 1; + HEAP32[7741] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12202,31 +16448,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 13880; + $74 = 14032; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[7697]|0; + $78 = HEAP32[7737]|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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14032+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[7697] = 8; + HEAP32[7737] = 8; } } - $82 = +HEAPF32[3470]; - $83 = +HEAPF32[3464]; + $82 = +HEAPF32[3508]; + $83 = +HEAPF32[3502]; $84 = $82 - $83; - HEAPF32[3468] = $84; - $85 = +HEAPF32[(13884)>>2]; - $86 = +HEAPF32[(13860)>>2]; + HEAPF32[3506] = $84; + $85 = +HEAPF32[(14036)>>2]; + $86 = +HEAPF32[(14012)>>2]; $87 = $85 - $86; - HEAPF32[(13876)>>2] = $87; + HEAPF32[(14028)>>2] = $87; STACKTOP = sp;return; break; } @@ -12238,16 +16484,16 @@ function _ProcessGestureEvent($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[7697]|0; + $0 = HEAP32[7737]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[7698]|0; + $2 = HEAP32[7738]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[7697] = 4; + HEAP32[7737] = 4; } - $4 = HEAP32[7697]|0; + $4 = HEAP32[7737]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12260,14 +16506,14 @@ function _UpdateGestures() { return; } } - HEAP32[7697] = 0; + HEAP32[7737] = 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; + $1 = 14064; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12293,20 +16539,20 @@ function _IsKeyDown($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[7707]|0; + $0 = HEAP32[7747]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[7706]|0; + $0 = HEAP32[7746]|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; + $1 = HEAP32[7745]|0; $2 = (_glfwGetKey(($1|0),($0|0))|0); return ($2|0); } @@ -12318,29 +16564,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,3588,$vararg_buffer); - HEAP32[7709] = $2; + _TraceLog(0,3356,$vararg_buffer); + HEAP32[7749] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); - _InitTimer_10(); + _InitTimer_12(); (_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_keypress_callback((3385|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((3385|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((3385|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((3385|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((3385|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((3385|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; + $3 = HEAP32[7747]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[3478] = $5; - $6 = HEAP32[7706]|0; + HEAPF32[3516] = $5; + $6 = HEAP32[7746]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(13916)>>2] = $8; - $9 = HEAP32[7710]|0; + HEAPF32[(14068)>>2] = $8; + $9 = HEAP32[7750]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -12359,11 +16605,11 @@ function _TraceLog($0,$1,$varargs) { $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; + ;HEAP8[14104>>0]=HEAP8[7914>>0]|0;HEAP8[14104+1>>0]=HEAP8[7914+1>>0]|0;HEAP8[14104+2>>0]=HEAP8[7914+2>>0]|0;HEAP8[14104+3>>0]=HEAP8[7914+3>>0]|0;HEAP8[14104+4>>0]=HEAP8[7914+4>>0]|0;HEAP8[14104+5>>0]=HEAP8[7914+5>>0]|0;HEAP8[14104+6>>0]=HEAP8[7914+6>>0]|0; break; } case 1: { - $3 = 13952; + $3 = 14104; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -12372,11 +16618,11 @@ function _TraceLog($0,$1,$varargs) { 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)); + dest=14104; src=7921; 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; + $7 = 14104; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -12387,16 +16633,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(13952,$1)|0); - $strlen = (_strlen(13952)|0); - $endptr = (13952 + ($strlen)|0); + (_strcat(14104,$1)|0); + $strlen = (_strlen(14104)|0); + $endptr = (14104 + ($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); + (_vprintf(14104,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -12428,22 +16674,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[7707] = $0; - HEAP32[7706] = $1; + HEAP32[7747] = $0; + HEAP32[7746] = $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)); + dest=31076; 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); + _TraceLog(1,4056,$vararg_buffer); } - $6 = HEAP32[7707]|0; - HEAP32[7745] = $6; - $7 = HEAP32[7706]|0; - HEAP32[7746] = $7; + $6 = HEAP32[7747]|0; + HEAP32[7785] = $6; + $7 = HEAP32[7746]|0; + HEAP32[7786] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[33640]|0; + $8 = HEAP8[35952]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -12451,18 +16697,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[33640]|0; + $11 = HEAP8[35952]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[33640]|0; + $14 = HEAP8[35952]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,4314,$vararg_buffer1); + _TraceLog(0,4082,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -12479,18 +16725,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[7747]|0; + $21 = HEAP32[7787]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[7707]|0; - $48 = HEAP32[7706]|0; - $49 = HEAP32[7709]|0; + $47 = HEAP32[7747]|0; + $48 = HEAP32[7746]|0; + $49 = HEAP32[7749]|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; + HEAP32[7745] = $50; + $51 = HEAP32[7747]|0; + HEAP32[7788] = $51; + $52 = HEAP32[7746]|0; + HEAP32[7789] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12499,9 +16745,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[7707]|0; + $27 = HEAP32[7747]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[7706]|0; + $29 = HEAP32[7746]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12523,87 +16769,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[7745] = $31; - HEAP32[7746] = $34; + HEAP32[7785] = $31; + HEAP32[7786] = $34; } } while(0); - $38 = HEAP32[7745]|0; - $39 = HEAP32[7746]|0; + $38 = HEAP32[7785]|0; + $39 = HEAP32[7786]|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; + _TraceLog(2,4107,$vararg_buffer3); + $40 = HEAP32[7785]|0; + $41 = HEAP32[7786]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[7745]|0; - $43 = HEAP32[7746]|0; - $44 = HEAP32[7709]|0; + $42 = HEAP32[7785]|0; + $43 = HEAP32[7786]|0; + $44 = HEAP32[7749]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[7705] = $46; + HEAP32[7745] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,4377,$vararg_buffer6); + _TraceLog(1,4145,$vararg_buffer6); } else { - _TraceLog(0,4410,$vararg_buffer8); - $55 = HEAP32[7748]|0; - $56 = HEAP32[7749]|0; + _TraceLog(0,4178,$vararg_buffer8); + $55 = HEAP32[7788]|0; + $56 = HEAP32[7789]|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; + _TraceLog(0,4218,$vararg_buffer10); + $57 = HEAP32[7747]|0; + $58 = HEAP32[7746]|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; + _TraceLog(0,4239,$vararg_buffer14); + $59 = HEAP32[7790]|0; + $60 = HEAP32[7791]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,4492,$vararg_buffer18); + _TraceLog(0,4260,$vararg_buffer18); } - $61 = HEAP32[7705]|0; + $61 = HEAP32[7745]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[7705]|0; + $62 = HEAP32[7745]|0; (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); - $63 = HEAP32[7705]|0; + $63 = HEAP32[7745]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[7705]|0; + $64 = HEAP32[7745]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[7705]|0; + $65 = HEAP32[7745]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[7705]|0; + $66 = HEAP32[7745]|0; (_glfwSetCharCallback(($66|0),(3|0))|0); - $67 = HEAP32[7705]|0; + $67 = HEAP32[7745]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[7705]|0; + $68 = HEAP32[7745]|0; (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); - $69 = HEAP32[7705]|0; + $69 = HEAP32[7745]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[33640]|0; + $70 = HEAP8[35952]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[7707]|0; - $74 = HEAP32[7706]|0; + $73 = HEAP32[7747]|0; + $74 = HEAP32[7746]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[7748]|0; - $76 = HEAP32[7750]|0; + $75 = HEAP32[7788]|0; + $76 = HEAP32[7790]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[7749]|0; - $80 = HEAP32[7751]|0; + $79 = HEAP32[7789]|0; + $80 = HEAP32[7791]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12621,19 +16867,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,4517,$vararg_buffer22); - $73 = HEAP32[7707]|0; - $74 = HEAP32[7706]|0; + _TraceLog(0,4285,$vararg_buffer22); + $73 = HEAP32[7747]|0; + $74 = HEAP32[7746]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[7748]|0; - $76 = HEAP32[7750]|0; + $75 = HEAP32[7788]|0; + $76 = HEAP32[7790]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[7749]|0; - $80 = HEAP32[7751]|0; + $79 = HEAP32[7789]|0; + $80 = HEAP32[7791]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12661,12 +16907,12 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(30884)>>2] = 224; + HEAP32[(31044)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; while(1) { - $3 = (16 + ($$095104<<2)|0); + $3 = (28 + ($$095104<<2)|0); $4 = HEAP32[$3>>2]|0; $$097102 = 31; while(1) { @@ -12702,27 +16948,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[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[31020>>2]=HEAP32[$1>>2]|0;HEAP32[31020+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[31020+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[31020+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[31020+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; + $5 = HEAP32[(31044)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(30888)>>2] = $7; + HEAP32[(31048)>>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[(31040)>>2] = $23; + $24 = HEAP32[7755]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3812,$vararg_buffer); + _TraceLog(0,3580,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(30864)>>2]|0; - $10 = HEAP32[(30884)>>2]|0; - $11 = HEAP32[(30888)>>2]|0; + $9 = HEAP32[(31024)>>2]|0; + $10 = HEAP32[(31044)>>2]|0; + $11 = HEAP32[(31048)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -12734,7 +16980,7 @@ function _LoadDefaultFont() { $30 = (($29) + 1)|0; $31 = (((($27) + ($$0101<<5)|0)) + 8|0); HEAP32[$31>>2] = $30; - $32 = (2064 + ($$0101<<2)|0); + $32 = (2076 + ($$0101<<2)|0); $33 = HEAP32[$32>>2]|0; $34 = (((($27) + ($$0101<<5)|0)) + 12|0); HEAP32[$34>>2] = $33; @@ -12771,19 +17017,19 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(30880)>>2] = $23; - $24 = HEAP32[7715]|0; + HEAP32[(31040)>>2] = $23; + $24 = HEAP32[7755]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3812,$vararg_buffer); + _TraceLog(0,3580,$vararg_buffer); STACKTOP = sp;return; } -function _InitTimer_10() { +function _InitTimer_12() { var $0 = 0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[1743] = $1; + HEAPF64[1762] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -12813,7 +17059,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr8>>2] = $10; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,3745,$vararg_buffer4); + _TraceLog(0,3513,$vararg_buffer4); STACKTOP = sp;return 0; } else { HEAP32[$vararg_buffer>>2] = $6; @@ -12823,7 +17069,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr2>>2] = $10; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,3676,$vararg_buffer); + _TraceLog(0,3444,$vararg_buffer); STACKTOP = sp;return 0; } return (0)|0; @@ -12839,7 +17085,7 @@ function _EmscriptenKeyboardCallback($0,$1,$2) { return 0; } $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,3669)|0); + $5 = (_strcmp($4,3437)|0); $6 = ($5|0)==(0); if (!($6)) { return 0; @@ -12942,7 +17188,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 13928; + $31 = 14080; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -12955,7 +17201,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (13936); + $42 = (14088); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13011,7 +17257,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (30844 + ($10<<2)|0); + $11 = (31004 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13025,19 +17271,19 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[1740] = $$; + HEAPF64[1759] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; $6 = $1 ? 0.0 : $5; HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,3625,$vararg_buffer); + _TraceLog(0,3393,$vararg_buffer); STACKTOP = sp;return; } function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[7710] = 0; + HEAP32[7750] = 0; return; } function _GetTime() { @@ -13136,7 +17382,7 @@ function _ImageFormat($0,$1) { $6 = ($1|0)<(8); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,4188,$vararg_buffer); + _TraceLog(2,3956,$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; @@ -13613,52 +17859,52 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[7723]|0; + $6 = HEAP32[7763]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); $or$cond100 = $switch & $7; if ($or$cond100) { - _TraceLog(2,3857,$vararg_buffer); + _TraceLog(2,3625,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[7724]|0; + $9 = HEAP32[7764]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,3901,$vararg_buffer1); + _TraceLog(2,3669,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[7725]|0; + $12 = HEAP32[7765]|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); + _TraceLog(2,3714,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[7726]|0; + $15 = HEAP32[7766]|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); + _TraceLog(2,3759,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[7727]|0; + $18 = HEAP32[7767]|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); + _TraceLog(2,3804,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -13696,7 +17942,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[7723]|0; + $22 = HEAP32[7763]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -13704,7 +17950,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[7723]|0; + $24 = HEAP32[7763]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -13712,7 +17958,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[7723]|0; + $26 = HEAP32[7763]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -13720,7 +17966,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[7723]|0; + $28 = HEAP32[7763]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -13728,7 +17974,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[7724]|0; + $30 = HEAP32[7764]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -13736,7 +17982,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[7725]|0; + $32 = HEAP32[7765]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -13744,7 +17990,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[7725]|0; + $34 = HEAP32[7765]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -13752,7 +17998,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[7726]|0; + $36 = HEAP32[7766]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -13760,7 +18006,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[7726]|0; + $38 = HEAP32[7766]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -13768,7 +18014,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[7727]|0; + $40 = HEAP32[7767]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -13776,7 +18022,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[7727]|0; + $42 = HEAP32[7767]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -13784,11 +18030,11 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } default: { - _TraceLog(2,4081,$vararg_buffer9); + _TraceLog(2,3849,$vararg_buffer9); } } } while(0); - $44 = HEAP32[7728]|0; + $44 = HEAP32[7768]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -13803,7 +18049,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,4159,$vararg_buffer15); + _TraceLog(2,3927,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -13812,7 +18058,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,4110,$vararg_buffer11); + _TraceLog(0,3878,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -14086,7 +18332,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,4242,$vararg_buffer); + _TraceLog(2,4010,$vararg_buffer); $$1 = $$0106; } } @@ -14113,7 +18359,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,8108,$vararg_buffer); + _TraceLog(2,7876,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -14134,20 +18380,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[7707]|0; + $3 = HEAP32[7747]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[7706]|0; + $5 = HEAP32[7746]|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; + HEAP32[7788] = $3; + HEAP32[7789] = $5; + HEAP32[7790] = 0; + HEAP32[7791] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14157,13 +18403,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,8042,$vararg_buffer8); + _TraceLog(0,7810,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[7707]|0; + $35 = HEAP32[7747]|0; $36 = (+($35|0)); - $37 = HEAP32[7706]|0; + $37 = HEAP32[7746]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14171,26 +18417,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[7748] = $45; - HEAP32[7749] = $37; + HEAP32[7788] = $45; + HEAP32[7789] = $37; $46 = (($45) - ($35))|0; - HEAP32[7750] = $46; + HEAP32[7790] = $46; $$sink1 = 0; } else { - HEAP32[7748] = $35; + HEAP32[7788] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[7749] = $42; - HEAP32[7750] = 0; + HEAP32[7789] = $42; + HEAP32[7790] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[7751] = $$sink1; + HEAP32[7791] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[7706]|0; + $7 = HEAP32[7746]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14198,13 +18444,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,7899,$vararg_buffer); + _TraceLog(2,7667,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[7707]|0; + $9 = HEAP32[7747]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[7706]|0; + $13 = HEAP32[7746]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14212,37 +18458,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[7748] = $23; - HEAP32[7749] = $1; + HEAP32[7788] = $23; + HEAP32[7789] = $1; $24 = (($0) - ($23))|0; - HEAP32[7750] = $24; + HEAP32[7790] = $24; $$sink = 0; } else { - HEAP32[7748] = $0; - $17 = HEAP32[7706]|0; + HEAP32[7788] = $0; + $17 = HEAP32[7746]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[7749] = $20; - HEAP32[7750] = 0; + HEAP32[7789] = $20; + HEAP32[7790] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[7751] = $$sink; - $25 = HEAP32[7748]|0; + HEAP32[7791] = $$sink; + $25 = HEAP32[7788]|0; $26 = (+($25|0)); - $27 = HEAP32[7707]|0; + $27 = HEAP32[7747]|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; + dest=31076; 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[7788] = $0; + HEAP32[7789] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,7977,$vararg_buffer4); + _TraceLog(2,7745,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -14260,10 +18506,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[7707] = $1; - HEAP32[7706] = $2; - HEAP32[7748] = $1; - HEAP32[7749] = $2; + HEAP32[7747] = $1; + HEAP32[7746] = $2; + HEAP32[7788] = $1; + HEAP32[7789] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -14281,7 +18527,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { $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; + $5 = HEAP32[744]|0; $6 = ($5|0)==($1|0); $7 = ($3|0)==(1); $or$cond = $7 & $6; @@ -14290,12 +18536,12 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (33647 + ($1)|0); + $9 = (35959 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; } - HEAP32[740] = $1; + HEAP32[743] = $1; return; } function _MouseButtonCallback($0,$1,$2,$3) { @@ -14311,7 +18557,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (33641 + ($1)|0); + $7 = (35953 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -14390,7 +18636,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 13928; + $15 = 14080; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -14415,7 +18661,7 @@ function _CharCallback($0,$1) { $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[740] = $1; + HEAP32[743] = $1; return; } function _ScrollCallback($0,$1,$2) { @@ -14425,7 +18671,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[8121] = $3; + HEAP32[8161] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -14435,7 +18681,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[8120] = $$sink; + HEAP32[8160] = $$sink; return; } function _rlglInit($0,$1) { @@ -14475,16 +18721,16 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,4540,$vararg_buffer); + _TraceLog(0,4308,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,4558,$vararg_buffer1); + _TraceLog(0,4326,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,4576,$vararg_buffer4); + _TraceLog(0,4344,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,4594,$vararg_buffer7); + _TraceLog(0,4362,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; @@ -14492,7 +18738,7 @@ function _rlglInit($0,$1) { _memcpy(($14|0),($11|0),($13|0))|0; $$062 = 0;$$sink63 = $14; while(1) { - $15 = (_strtok($$sink63,4612)|0); + $15 = (_strtok($$sink63,4380)|0); $16 = (($vararg_buffer7) + ($$062<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); @@ -14506,41 +18752,41 @@ function _rlglInit($0,$1) { _free($14); $19 = (($$062) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,4614,$vararg_buffer10); + _TraceLog(0,4382,$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); + $25 = (_strcmp($24,4417)|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); + HEAP32[7826] = 1; + $27 = (_eglGetProcAddress((4444|0))|0); + HEAP32[7827] = $27; + $28 = (_eglGetProcAddress((4465|0))|0); + HEAP32[7828] = $28; + $29 = (_eglGetProcAddress((4486|0))|0); + HEAP32[7829] = $29; + } + $30 = (_strcmp($24,4510)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[7728] = 1; + HEAP32[7768] = 1; } - $32 = (_strcmp($24,4762)|0); + $32 = (_strcmp($24,4530)|0); $33 = ($32|0)==(0); if ($33) { label = 12; } else { $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,4794)|0); + $35 = (_strcmp($34,4562)|0); $36 = ($35|0)==(0); if ($36) { label = 12; } else { - $37 = (_strcmp($34,4827)|0); + $37 = (_strcmp($34,4595)|0); $38 = ($37|0)==(0); if ($38) { label = 12; @@ -14549,15 +18795,15 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[7723] = 1; + HEAP32[7763] = 1; } - $39 = (_strcmp($24,4867)|0); + $39 = (_strcmp($24,4635)|0); $40 = ($39|0)==(0); if ($40) { label = 15; } else { $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,4903)|0); + $42 = (_strcmp($41,4671)|0); $43 = ($42|0)==(0); if ($43) { label = 15; @@ -14565,35 +18811,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[7724] = 1; + HEAP32[7764] = 1; } $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,4936)|0); + $45 = (_strcmp($44,4704)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[7725] = 1; + HEAP32[7765] = 1; } - $47 = (_strcmp($44,4961)|0); + $47 = (_strcmp($44,4729)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[7726] = 1; + HEAP32[7766] = 1; } - $49 = (_strcmp($44,4994)|0); + $49 = (_strcmp($44,4762)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[7727] = 1; + HEAP32[7767] = 1; } - $51 = (_strcmp($44,5030)|0); + $51 = (_strcmp($44,4798)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[7790] = 1; - _glGetFloatv(34047,(31164|0)); + HEAP32[7830] = 1; + _glGetFloatv(34047,(31324|0)); } $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,5064)|0); + $54 = (_strcmp($53,4832)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[7792] = 1; + HEAP32[7832] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14604,77 +18850,77 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[7786]|0; + $21 = HEAP32[7826]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,5167,$vararg_buffer15); + _TraceLog(2,4935,$vararg_buffer15); } else { - _TraceLog(0,5092,$vararg_buffer13); + _TraceLog(0,4860,$vararg_buffer13); } - $57 = HEAP32[7728]|0; + $57 = HEAP32[7768]|0; $58 = ($57|0)==(0); if ($58) { - _TraceLog(2,5303,$vararg_buffer19); + _TraceLog(2,5071,$vararg_buffer19); } else { - _TraceLog(0,5228,$vararg_buffer17); + _TraceLog(0,4996,$vararg_buffer17); } - $59 = HEAP32[7723]|0; + $59 = HEAP32[7763]|0; $60 = ($59|0)==(0); if (!($60)) { - _TraceLog(0,5395,$vararg_buffer21); + _TraceLog(0,5163,$vararg_buffer21); } - $61 = HEAP32[7724]|0; + $61 = HEAP32[7764]|0; $62 = ($61|0)==(0); if (!($62)) { - _TraceLog(0,5441,$vararg_buffer23); + _TraceLog(0,5209,$vararg_buffer23); } - $63 = HEAP32[7725]|0; + $63 = HEAP32[7765]|0; $64 = ($63|0)==(0); if (!($64)) { - _TraceLog(0,5488,$vararg_buffer25); + _TraceLog(0,5256,$vararg_buffer25); } - $65 = HEAP32[7726]|0; + $65 = HEAP32[7766]|0; $66 = ($65|0)==(0); if (!($66)) { - _TraceLog(0,5539,$vararg_buffer27); + _TraceLog(0,5307,$vararg_buffer27); } - $67 = HEAP32[7727]|0; + $67 = HEAP32[7767]|0; $68 = ($67|0)==(0); if (!($68)) { - _TraceLog(0,5586,$vararg_buffer29); + _TraceLog(0,5354,$vararg_buffer29); } - $69 = HEAP32[7790]|0; + $69 = HEAP32[7830]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[7791]; + $71 = +HEAPF32[7831]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,5633,$vararg_buffer31); + _TraceLog(0,5401,$vararg_buffer31); } - $73 = HEAP32[7792]|0; + $73 = HEAP32[7832]|0; $74 = ($73|0)==(0); if (!($74)) { - _TraceLog(0,5699,$vararg_buffer34); + _TraceLog(0,5467,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[7793] = $75; + HEAP32[7833] = $75; $76 = ($75|0)==(0); if ($76) { - _TraceLog(2,5803,$vararg_buffer39); + _TraceLog(2,5571,$vararg_buffer39); } else { HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,5752,$vararg_buffer36); + _TraceLog(0,5520,$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)); + dest=31336; 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=31392; 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; + HEAP32[7862] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[7822]|0; + $79 = HEAP32[7862]|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; @@ -14687,7 +18933,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[7823] = $78; + HEAP32[7863] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -14702,48 +18948,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[7824] = 1; - $85 = HEAP32[7793]|0; + HEAP32[7864] = 1; + $85 = HEAP32[7833]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[7825] = 4; + HEAP32[7865] = 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)); + dest=31464; src=$4; stop=dest+64|0; 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)); + dest=(31528); src=$4; stop=dest+64|0; 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)); + dest=(31592); src=$4; stop=dest+64|0; 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)); + dest=(31656); src=$4; stop=dest+64|0; 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)); + dest=(31720); src=$4; stop=dest+64|0; 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)); + dest=(31784); src=$4; stop=dest+64|0; 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)); + dest=(31848); src=$4; stop=dest+64|0; 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)); + dest=(31912); src=$4; stop=dest+64|0; 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)); + dest=(31976); src=$4; stop=dest+64|0; 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)); + dest=(32040); src=$4; stop=dest+64|0; 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)); + dest=(32104); src=$4; stop=dest+64|0; 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)); + dest=(32168); src=$4; stop=dest+64|0; 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)); + dest=(32232); src=$4; stop=dest+64|0; 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)); + dest=(32296); src=$4; stop=dest+64|0; 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)); + dest=(32360); src=$4; stop=dest+64|0; 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)); + dest=(32424); src=$4; stop=dest+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)); + dest=31172; 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; + dest=31236; 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[7792] = 31236; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -14754,21 +19000,21 @@ function _rlglInit($0,$1) { _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); + HEAP32[8122] = $0; + HEAP32[8123] = $1; + _TraceLog(0,5610,$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; + $0 = HEAP32[7790]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[7751]|0; + $2 = HEAP32[7791]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[7748]|0; + $4 = HEAP32[7788]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[7749]|0; + $6 = HEAP32[7789]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -14779,12 +19025,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 31012; + $modelview$sink = 31172; label = 3; break; } case 5888: { - $modelview$sink = 31076; + $modelview$sink = 31236; label = 3; break; } @@ -14792,9 +19038,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[7752] = $modelview$sink; + HEAP32[7792] = $modelview$sink; } - HEAP32[7785] = $0; + HEAP32[7825] = $0; return; } function _rlLoadIdentity() { @@ -14802,7 +19048,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[7752]|0; + $1 = HEAP32[7792]|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; @@ -14823,7 +19069,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[7752]|0; + $8 = HEAP32[7792]|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); @@ -14882,17 +19128,17 @@ function _LoadDefaultShader($0) { $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; + _memcpy(($2|0),(6186|0),489)|0; + _memcpy(($3|0),(6675|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); + _TraceLog(2,7164,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,7348,$vararg_buffer); + _TraceLog(0,7116,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -14920,15 +19166,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(32348)>>2] = $0; + HEAP32[(32508)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(32356)>>2] = $1; - HEAP32[(32352)>>2] = 0; - HEAP32[(32360)>>2] = 0; + HEAP32[(32516)>>2] = $1; + HEAP32[(32512)>>2] = 0; + HEAP32[(32520)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(32356)>>2]|0; + $2 = HEAP32[(32516)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -14939,19 +19185,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[8084] = 0; - HEAP32[(32344)>>2] = 0; - HEAP32[(32340)>>2] = 0; + HEAP32[8124] = 0; + HEAP32[(32504)>>2] = 0; + HEAP32[(32500)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(32396)>>2] = $5; + HEAP32[(32556)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(32404)>>2] = $6; - HEAP32[(32400)>>2] = 0; - HEAP32[(32408)>>2] = 0; + HEAP32[(32564)>>2] = $6; + HEAP32[(32560)>>2] = 0; + HEAP32[(32568)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(32404)>>2]|0; + $7 = HEAP32[(32564)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -14962,24 +19208,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[8096] = 0; - HEAP32[(32392)>>2] = 0; - HEAP32[(32388)>>2] = 0; + HEAP32[8136] = 0; + HEAP32[(32552)>>2] = 0; + HEAP32[(32548)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(32444)>>2] = $10; + HEAP32[(32604)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(32448)>>2] = $11; + HEAP32[(32608)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(32452)>>2] = $12; + HEAP32[(32612)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(32456)>>2] = $13; - $14 = HEAP32[(32444)>>2]|0; + HEAP32[(32616)>>2] = $13; + $14 = HEAP32[(32604)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(32448)>>2]|0; + $15 = HEAP32[(32608)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(32452)>>2]|0; + $17 = HEAP32[(32612)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -14990,7 +19236,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(32456)>>2]|0; + $16 = HEAP32[(32616)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15027,140 +19273,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[8108] = 0; - HEAP32[(32436)>>2] = 0; - HEAP32[(32440)>>2] = 0; - _TraceLog(0,5889,$vararg_buffer); - $20 = HEAP32[7786]|0; + HEAP32[8148] = 0; + HEAP32[(32596)>>2] = 0; + HEAP32[(32600)>>2] = 0; + _TraceLog(0,5657,$vararg_buffer); + $20 = HEAP32[7826]|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; + $43 = HEAP32[7827]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(32524)); + $44 = HEAP32[7828]|0; + $45 = HEAP32[(32524)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((32368)|0)); - $46 = HEAP32[(32368)>>2]|0; + _glGenBuffers(2,((32528)|0)); + $46 = HEAP32[(32528)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(32348)>>2]|0; + $47 = HEAP32[(32508)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(31236)>>2]|0; + $48 = HEAP32[(31396)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(31236)>>2]|0; + $49 = HEAP32[(31396)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((32372)|0)); - $50 = HEAP32[(32372)>>2]|0; + _glGenBuffers(2,((32532)|0)); + $50 = HEAP32[(32532)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(32356)>>2]|0; + $51 = HEAP32[(32516)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(31256)>>2]|0; + $52 = HEAP32[(31416)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(31256)>>2]|0; + $53 = HEAP32[(31416)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[7786]|0; + $54 = HEAP32[7826]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(32368)>>2]|0; - $58 = HEAP32[(32372)>>2]|0; + $57 = HEAP32[(32528)>>2]|0; + $58 = HEAP32[(32532)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,6027,$vararg_buffer3); + _TraceLog(0,5795,$vararg_buffer3); } else { - $56 = HEAP32[(32364)>>2]|0; + $56 = HEAP32[(32524)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,5962,$vararg_buffer1); + _TraceLog(0,5730,$vararg_buffer1); } - $59 = HEAP32[7786]|0; + $59 = HEAP32[7826]|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; + $61 = HEAP32[7827]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(32572)); + $62 = HEAP32[7828]|0; + $63 = HEAP32[(32572)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((32416)|0)); - $64 = HEAP32[(32416)>>2]|0; + _glGenBuffers(1,((32576)|0)); + $64 = HEAP32[(32576)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(32396)>>2]|0; + $65 = HEAP32[(32556)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(31236)>>2]|0; + $66 = HEAP32[(31396)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(31236)>>2]|0; + $67 = HEAP32[(31396)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((32420)|0)); - $68 = HEAP32[(32420)>>2]|0; + _glGenBuffers(1,((32580)|0)); + $68 = HEAP32[(32580)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(32404)>>2]|0; + $69 = HEAP32[(32564)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(31256)>>2]|0; + $70 = HEAP32[(31416)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(31256)>>2]|0; + $71 = HEAP32[(31416)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[7786]|0; + $72 = HEAP32[7826]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(32416)>>2]|0; - $76 = HEAP32[(32420)>>2]|0; + $75 = HEAP32[(32576)>>2]|0; + $76 = HEAP32[(32580)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,6173,$vararg_buffer10); + _TraceLog(0,5941,$vararg_buffer10); } else { - $74 = HEAP32[(32412)>>2]|0; + $74 = HEAP32[(32572)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,6104,$vararg_buffer7); + _TraceLog(0,5872,$vararg_buffer7); } - $77 = HEAP32[7786]|0; + $77 = HEAP32[7826]|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; + $79 = HEAP32[7827]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(32620)); + $80 = HEAP32[7828]|0; + $81 = HEAP32[(32620)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((32464)|0)); - $82 = HEAP32[(32464)>>2]|0; + _glGenBuffers(1,((32624)|0)); + $82 = HEAP32[(32624)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(32444)>>2]|0; + $83 = HEAP32[(32604)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(31236)>>2]|0; + $84 = HEAP32[(31396)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(31236)>>2]|0; + $85 = HEAP32[(31396)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((32468)|0)); - $86 = HEAP32[(32468)>>2]|0; + _glGenBuffers(1,((32628)|0)); + $86 = HEAP32[(32628)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(32448)>>2]|0; + $87 = HEAP32[(32608)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(31240)>>2]|0; + $88 = HEAP32[(31400)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(31240)>>2]|0; + $89 = HEAP32[(31400)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((32472)|0)); - $90 = HEAP32[(32472)>>2]|0; + _glGenBuffers(1,((32632)|0)); + $90 = HEAP32[(32632)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(32452)>>2]|0; + $91 = HEAP32[(32612)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(31256)>>2]|0; + $92 = HEAP32[(31416)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(31256)>>2]|0; + $93 = HEAP32[(31416)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((32476)|0)); - $94 = HEAP32[(32476)>>2]|0; + _glGenBuffers(1,((32636)|0)); + $94 = HEAP32[(32636)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(32456)>>2]|0; + $95 = HEAP32[(32616)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[7786]|0; + $96 = HEAP32[7826]|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; + $99 = HEAP32[(32624)>>2]|0; + $100 = HEAP32[(32628)>>2]|0; + $101 = HEAP32[(32632)>>2]|0; + $102 = HEAP32[(32636)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15168,18 +19414,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,6319,$vararg_buffer17); + _TraceLog(0,6087,$vararg_buffer17); } else { - $98 = HEAP32[(32460)>>2]|0; + $98 = HEAP32[(32620)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,6254,$vararg_buffer14); + _TraceLog(0,6022,$vararg_buffer14); } - $103 = HEAP32[7786]|0; + $103 = HEAP32[7826]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[7788]|0; + $105 = HEAP32[7828]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -15216,10 +19462,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,7652,$vararg_buffer4); + _TraceLog(0,7420,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,7600,$vararg_buffer); + _TraceLog(2,7368,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -15229,7 +19475,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,7649,$vararg_buffer1); + _TraceLog(0,7417,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -15238,10 +19484,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,7753,$vararg_buffer13); + _TraceLog(0,7521,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,7702,$vararg_buffer7); + _TraceLog(2,7470,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -15251,25 +19497,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,7649,$vararg_buffer10); + _TraceLog(0,7417,$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)); + _glBindAttribLocation(($20|0),0,(7212|0)); + _glBindAttribLocation(($20|0),1,(7227|0)); + _glBindAttribLocation(($20|0),2,(7258|0)); + _glBindAttribLocation(($20|0),3,(7285|0)); + _glBindAttribLocation(($20|0),4,(7271|0)); + _glBindAttribLocation(($20|0),5,(7242|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); + _TraceLog(2,7573,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -15279,7 +19525,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,7649,$vararg_buffer19); + _TraceLog(0,7417,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -15288,7 +19534,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,7851,$vararg_buffer22); + _TraceLog(0,7619,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -15303,55 +19549,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(7444|0))|0); + $2 = (_glGetAttribLocation(($1|0),(7212|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(7459|0))|0); + $5 = (_glGetAttribLocation(($4|0),(7227|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(7474|0))|0); + $8 = (_glGetAttribLocation(($7|0),(7242|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(7490|0))|0); + $11 = (_glGetAttribLocation(($10|0),(7258|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(7503|0))|0); + $14 = (_glGetAttribLocation(($13|0),(7271|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(7517|0))|0); + $17 = (_glGetAttribLocation(($16|0),(7285|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(7529|0))|0); + $20 = (_glGetUniformLocation(($19|0),(7297|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(7539|0))|0); + $23 = (_glGetUniformLocation(($22|0),(7307|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(7550|0))|0); + $26 = (_glGetUniformLocation(($25|0),(7318|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(7561|0))|0); + $29 = (_glGetUniformLocation(($28|0),(7329|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(7573|0))|0); + $32 = (_glGetUniformLocation(($31|0),(7341|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(7582|0))|0); + $35 = (_glGetUniformLocation(($34|0),(7350|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(7591|0))|0); + $38 = (_glGetUniformLocation(($37|0),(7359|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -15360,9 +19606,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 = (33641 + ($0)|0); + $1 = (35953 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (33644 + ($0)|0); + $3 = (35956 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15374,9 +19620,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 = (33641 + ($0)|0); + $1 = (35953 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (33644 + ($0)|0); + $3 = (35956 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -15397,10 +19643,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[7705]|0; + $0 = HEAP32[7745]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,8163,$vararg_buffer); + _TraceLog(0,7931,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -15408,9 +19654,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[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; + ;HEAP32[$$byval_copy>>2]=HEAP32[31020>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[31020+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[31020+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[31020+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[31020+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(30888)>>2]|0; + $0 = HEAP32[(31048)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -15421,11 +19667,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(31172|0)); - $0 = HEAP32[7793]|0; + _glDeleteTextures(1,(31332|0)); + $0 = HEAP32[7833]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,8190,$vararg_buffer); - $1 = HEAP32[7823]|0; + _TraceLog(0,7958,$vararg_buffer); + $1 = HEAP32[7863]|0; _free($1); STACKTOP = sp;return; } @@ -15433,17 +19679,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[7794]|0; + $0 = HEAP32[7834]|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; + $0 = HEAP32[7826]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[7788]|0; + $2 = HEAP32[7828]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -15452,39 +19698,39 @@ function _UnloadDefaultBuffers() { _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; + _glDeleteBuffers(1,((32528)|0)); + _glDeleteBuffers(1,((32532)|0)); + _glDeleteBuffers(1,((32576)|0)); + _glDeleteBuffers(1,((32580)|0)); + _glDeleteBuffers(1,((32624)|0)); + _glDeleteBuffers(1,((32628)|0)); + _glDeleteBuffers(1,((32632)|0)); + _glDeleteBuffers(1,((32636)|0)); + $3 = HEAP32[7826]|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; + $5 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(32524)); + $6 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(32572)); + $7 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(32620)); + } + $8 = HEAP32[(32508)>>2]|0; _free($8); - $9 = HEAP32[(32356)>>2]|0; + $9 = HEAP32[(32516)>>2]|0; _free($9); - $10 = HEAP32[(32396)>>2]|0; + $10 = HEAP32[(32556)>>2]|0; _free($10); - $11 = HEAP32[(32404)>>2]|0; + $11 = HEAP32[(32564)>>2]|0; _free($11); - $12 = HEAP32[(32444)>>2]|0; + $12 = HEAP32[(32604)>>2]|0; _free($12); - $13 = HEAP32[(32448)>>2]|0; + $13 = HEAP32[(32608)>>2]|0; _free($13); - $14 = HEAP32[(32452)>>2]|0; + $14 = HEAP32[(32612)>>2]|0; _free($14); - $15 = HEAP32[(32456)>>2]|0; + $15 = HEAP32[(32616)>>2]|0; _free($15); return; } @@ -15502,7 +19748,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,8255,$vararg_buffer); + _TraceLog(0,8023,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -15518,41 +19764,22 @@ function _rlDeleteTextures($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]; + HEAPF64[1779] = $0; + $1 = +HEAPF64[1762]; $2 = $0 - $1; - HEAPF64[1761] = $2; - HEAPF64[1743] = $0; + HEAPF64[1780] = $2; + HEAPF64[1762] = $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)); + dest=$downscaleView$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)); (_MatrixToFloat($downscaleView$byval_copy)|0); - _rlMultMatrixf(32488); + _rlMultMatrixf(32648); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15561,53 +19788,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[8122] = $1; + HEAP32[8162] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(32492)>>2] = $3; + HEAP32[(32652)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(32496)>>2] = $5; + HEAP32[(32656)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(32500)>>2] = $7; + HEAP32[(32660)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(32504)>>2] = $9; + HEAP32[(32664)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(32508)>>2] = $11; + HEAP32[(32668)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(32512)>>2] = $13; + HEAP32[(32672)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(32516)>>2] = $15; + HEAP32[(32676)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(32520)>>2] = $17; + HEAP32[(32680)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(32524)>>2] = $19; + HEAP32[(32684)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(32528)>>2] = $21; + HEAP32[(32688)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(32532)>>2] = $23; + HEAP32[(32692)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(32536)>>2] = $25; + HEAP32[(32696)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(32540)>>2] = $27; + HEAP32[(32700)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(32544)>>2] = $29; + HEAP32[(32704)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(32548)>>2] = $31; - return (32488|0); + HEAP32[(32708)>>2] = $31; + return (32648|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -15682,7 +19909,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[7752]|0; + $49 = HEAP32[7792]|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); @@ -15696,15 +19923,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[1760] = $0; - $1 = +HEAPF64[1743]; + HEAPF64[1779] = $0; + $1 = +HEAPF64[1762]; $2 = $0 - $1; - HEAPF64[1762] = $2; - HEAPF64[1743] = $0; - $3 = +HEAPF64[1761]; + HEAPF64[1781] = $2; + HEAPF64[1762] = $0; + $3 = +HEAPF64[1780]; $4 = $2 + $3; - HEAPF64[1763] = $4; - $5 = +HEAPF64[1740]; + HEAPF64[1782] = $4; + $5 = +HEAPF64[1759]; $6 = $4 < $5; if (!($6)) { return; @@ -15714,13 +19941,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[1760] = $10; - $11 = +HEAPF64[1743]; + HEAPF64[1779] = $10; + $11 = +HEAPF64[1762]; $12 = $10 - $11; - HEAPF64[1743] = $10; - $13 = +HEAPF64[1763]; + HEAPF64[1762] = $10; + $13 = +HEAPF64[1782]; $14 = $12 + $13; - HEAPF64[1763] = $14; + HEAPF64[1782] = $14; return; } function _rlglDraw() { @@ -15733,7 +19960,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[7705]|0; + $0 = HEAP32[7745]|0; _glfwSwapBuffers(($0|0)); return; } @@ -15747,22 +19974,22 @@ function _PollInputEvents() { $1 = sp + 1432|0; $2 = sp; _UpdateGestures(); - HEAP32[740] = -1; - HEAP32[742] = -1; - HEAP32[8138] = 0; - $3 = HEAP32[7705]|0; + HEAP32[743] = -1; + HEAP32[745] = -1; + HEAP32[8178] = 0; + $3 = HEAP32[7745]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[3478] = $5; + HEAPF32[3516] = $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; + HEAPF32[(14068)>>2] = $7; + _memcpy((36471|0),(35959|0),512)|0; + ;HEAP8[35956>>0]=HEAP8[35953>>0]|0;HEAP8[35956+1>>0]=HEAP8[35953+1>>0]|0;HEAP8[35956+2>>0]=HEAP8[35953+2>>0]|0; + $8 = HEAP32[8161]|0; + HEAP32[7748] = $8; + HEAP32[8161] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -15772,8 +19999,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (34671 + ($$05160<<5)|0); - $scevgep67 = (34799 + ($$05160<<5)|0); + $scevgep = (36983 + ($$05160<<5)|0); + $scevgep67 = (37111 + ($$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); @@ -15787,10 +20014,10 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((34799 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((37111 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; - HEAP32[742] = $$04857; + HEAP32[745] = $$04857; } else { HEAP8[$24>>0] = 0; } @@ -15814,7 +20041,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((32556 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((32716 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -15830,7 +20057,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[8138] = $$lcssa; + HEAP32[8178] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -15871,87 +20098,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[8084]|0; + $0 = HEAP32[8124]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[7786]|0; + $2 = HEAP32[7826]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[7788]|0; - $5 = HEAP32[(32364)>>2]|0; + $4 = HEAP32[7828]|0; + $5 = HEAP32[(32524)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(32368)>>2]|0; + $6 = HEAP32[(32528)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[8084]|0; + $7 = HEAP32[8124]|0; $8 = ($7*12)|0; - $9 = HEAP32[(32348)>>2]|0; + $9 = HEAP32[(32508)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(32372)>>2]|0; + $10 = HEAP32[(32532)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(32344)>>2]|0; + $11 = HEAP32[(32504)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(32356)>>2]|0; + $13 = HEAP32[(32516)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[8096]|0; + $14 = HEAP32[8136]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[7786]|0; + $16 = HEAP32[7826]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[7788]|0; - $19 = HEAP32[(32412)>>2]|0; + $18 = HEAP32[7828]|0; + $19 = HEAP32[(32572)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(32416)>>2]|0; + $20 = HEAP32[(32576)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[8096]|0; + $21 = HEAP32[8136]|0; $22 = ($21*12)|0; - $23 = HEAP32[(32396)>>2]|0; + $23 = HEAP32[(32556)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(32420)>>2]|0; + $24 = HEAP32[(32580)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(32392)>>2]|0; + $25 = HEAP32[(32552)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(32404)>>2]|0; + $27 = HEAP32[(32564)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[8108]|0; + $28 = HEAP32[8148]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[7786]|0; + $30 = HEAP32[7826]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[7788]|0; - $33 = HEAP32[(32460)>>2]|0; + $32 = HEAP32[7828]|0; + $33 = HEAP32[(32620)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(32464)>>2]|0; + $34 = HEAP32[(32624)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[8108]|0; + $35 = HEAP32[8148]|0; $36 = ($35*12)|0; - $37 = HEAP32[(32444)>>2]|0; + $37 = HEAP32[(32604)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(32468)>>2]|0; + $38 = HEAP32[(32628)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[8108]|0; + $39 = HEAP32[8148]|0; $40 = $39 << 3; - $41 = HEAP32[(32448)>>2]|0; + $41 = HEAP32[(32608)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(32472)>>2]|0; + $42 = HEAP32[(32632)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[8108]|0; + $43 = HEAP32[8148]|0; $44 = $43 << 2; - $45 = HEAP32[(32452)>>2]|0; + $45 = HEAP32[(32612)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[7786]|0; + $46 = HEAP32[7826]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[7788]|0; + $48 = HEAP32[7828]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -15969,9 +20196,9 @@ function _DrawDefaultBuffers() { $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; + dest=$0; src=31172; stop=dest+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=31236; stop=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[8211]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -15981,134 +20208,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[8084]|0; + $8 = HEAP32[8124]|0; $9 = ($8|0)>(0); - $10 = HEAP32[8096]|0; + $10 = HEAP32[8136]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[8108]|0; + $12 = HEAP32[8148]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[7808]|0; + $14 = HEAP32[7848]|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)); + dest=$modelview$byval_copy; src=31236; stop=dest+64|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=31172; stop=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; + $15 = HEAP32[(31420)>>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; + $17 = HEAP32[(31424)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(31276)>>2]|0; + $18 = HEAP32[(31436)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[8084]|0; + $19 = HEAP32[8124]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[7793]|0; + $21 = HEAP32[7833]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[7786]|0; + $22 = HEAP32[7826]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(32368)>>2]|0; + $26 = HEAP32[(32528)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(31236)>>2]|0; + $27 = HEAP32[(31396)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(31236)>>2]|0; + $28 = HEAP32[(31396)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(32372)>>2]|0; + $29 = HEAP32[(32532)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(31256)>>2]|0; + $30 = HEAP32[(31416)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(31256)>>2]|0; + $31 = HEAP32[(31416)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[7788]|0; - $25 = HEAP32[(32364)>>2]|0; + $24 = HEAP32[7828]|0; + $25 = HEAP32[(32524)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[8084]|0; + $32 = HEAP32[8124]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[7786]|0; + $33 = HEAP32[7826]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[8096]|0; + $35 = HEAP32[8136]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[7793]|0; + $37 = HEAP32[7833]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[7786]|0; + $38 = HEAP32[7826]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(32416)>>2]|0; + $42 = HEAP32[(32576)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(31236)>>2]|0; + $43 = HEAP32[(31396)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(31236)>>2]|0; + $44 = HEAP32[(31396)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(32420)>>2]|0; + $45 = HEAP32[(32580)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(31256)>>2]|0; + $46 = HEAP32[(31416)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(31256)>>2]|0; + $47 = HEAP32[(31416)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[7788]|0; - $41 = HEAP32[(32412)>>2]|0; + $40 = HEAP32[7828]|0; + $41 = HEAP32[(32572)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[8096]|0; + $48 = HEAP32[8136]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[7786]|0; + $49 = HEAP32[7826]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[8108]|0; + $51 = HEAP32[8148]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[7786]|0; + $53 = HEAP32[7826]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(32464)>>2]|0; + $57 = HEAP32[(32624)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(31236)>>2]|0; + $58 = HEAP32[(31396)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(31236)>>2]|0; + $59 = HEAP32[(31396)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(32468)>>2]|0; + $60 = HEAP32[(32628)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(31240)>>2]|0; + $61 = HEAP32[(31400)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(31240)>>2]|0; + $62 = HEAP32[(31400)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(32472)>>2]|0; + $63 = HEAP32[(32632)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(31256)>>2]|0; + $64 = HEAP32[(31416)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(31256)>>2]|0; + $65 = HEAP32[(31416)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(32476)>>2]|0; + $66 = HEAP32[(32636)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[7788]|0; - $56 = HEAP32[(32460)>>2]|0; + $55 = HEAP32[7828]|0; + $56 = HEAP32[(32620)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[7824]|0; + $67 = HEAP32[7864]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[7823]|0; + $71 = HEAP32[7863]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16119,14 +20346,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[7823]|0; + $80 = HEAP32[7863]|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; + $87 = HEAP32[7864]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16135,7 +20362,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[7786]|0; + $69 = HEAP32[7826]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16143,10 +20370,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[7786]|0; + $89 = HEAP32[7826]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[7788]|0; + $91 = HEAP32[7828]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16158,22 +20385,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[7824] = 1; - $5 = HEAP32[7793]|0; - $6 = HEAP32[7823]|0; + HEAP32[7864] = 1; + $5 = HEAP32[7833]|0; + $6 = HEAP32[7863]|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)); + HEAP32[8124] = 0; + HEAP32[(32504)>>2] = 0; + HEAP32[8136] = 0; + HEAP32[(32552)>>2] = 0; + HEAP32[8148] = 0; + HEAP32[(32596)>>2] = 0; + HEAP32[(32600)>>2] = 0; + HEAPF32[746] = -1.0; + dest=31172; 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=31236; 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) { @@ -16188,17 +20415,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[8082]|0; + $5 = HEAP32[8122]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[8083]|0; + $9 = HEAP32[8123]|0; _rlViewport($7,0,$8,$9); - $10 = (32916 + ($0<<6)|0); + $10 = (33076 + ($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); + $11 = (32948 + ($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); @@ -16210,14 +20437,14 @@ 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)); + dest=31236; 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)); + dest=31172; 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() { @@ -16225,43 +20452,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[8261]|0; + $0 = HEAP32[8301]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,8305,$vararg_buffer); + _TraceLog(1,8073,$vararg_buffer); } - $2 = HEAP32[8261]|0; - $3 = (31304 + ($2<<6)|0); - $4 = HEAP32[7752]|0; + $2 = HEAP32[8301]|0; + $3 = (31464 + ($2<<6)|0); + $4 = HEAP32[7792]|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; + $5 = HEAP32[8301]|0; $6 = (($5) + 1)|0; - HEAP32[8261] = $6; - $7 = HEAP32[7785]|0; + HEAP32[8301] = $6; + $7 = HEAP32[7825]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[8262] = 1; + HEAP32[8302] = 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; + $0 = HEAP32[8301]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[8261]|0; + $2 = HEAP32[8301]|0; $3 = (($2) + -1)|0; - $4 = (31304 + ($3<<6)|0); - $5 = HEAP32[7752]|0; + $4 = (31464 + ($3<<6)|0); + $5 = HEAP32[7792]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[8261] = $6; + HEAP32[8301] = $6; return; } function _GetFPS() { @@ -16275,7 +20502,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[1763]; + $0 = +HEAPF64[1782]; $1 = $0; return (+$1); } @@ -16283,28 +20510,28 @@ 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; + HEAP8[35952] = $0; $1 = $0 & 1; $2 = ($1<<24>>24)==(0); if (!($2)) { - HEAP32[7710] = 1; + HEAP32[7750] = 1; } - $3 = HEAP8[33640]|0; + $3 = HEAP8[35952]|0; $4 = $3 & 2; $5 = ($4<<24>>24)==(0); if ($5) { return; } - HEAP32[7747] = 1; + HEAP32[7787] = 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); + $1 = (35959 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (34159 + ($0)|0); + $3 = (36471 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16325,7 +20552,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[7752]|0; + $5 = HEAP32[7792]|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); @@ -16358,7 +20585,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[7752]|0; + $11 = HEAP32[7792]|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); @@ -16369,7 +20596,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[7825] = $0; + HEAP32[7865] = $0; return; } function _rlEnd() { @@ -16385,21 +20612,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[8262]|0; + $0 = HEAP32[8302]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[8263]|0; + $2 = HEAP32[8303]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[7822]|0; + $6 = HEAP32[7862]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[7752]|0; + $8 = HEAP32[7792]|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; + $5 = HEAP32[8303]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -16407,12 +20634,12 @@ function _rlEnd() { break; } } - HEAP32[8262] = 0; + HEAP32[8302] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[7822]|0; + $11 = HEAP32[7862]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -16421,7 +20648,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[8263]|0; + $19 = HEAP32[8303]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -16431,20 +20658,20 @@ function _rlEnd() { } } } else { - HEAP32[8262] = 0; + HEAP32[8302] = 0; } - HEAP32[8263] = 0; + HEAP32[8303] = 0; } - $21 = HEAP32[7825]|0; + $21 = HEAP32[7865]|0; switch ($21|0) { case 1: { - $22 = HEAP32[8084]|0; - $23 = HEAP32[(32344)>>2]|0; + $22 = HEAP32[8124]|0; + $23 = HEAP32[(32504)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } $25 = (($22) - ($23))|0; @@ -16452,22 +20679,22 @@ function _rlEnd() { if ($26) { $$04347 = 0; } else { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(32356)>>2]|0; - $28 = HEAP32[(32344)>>2]|0; + $27 = HEAP32[(32516)>>2]|0; + $28 = HEAP32[(32504)>>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; + $34 = HEAP32[(32516)>>2]|0; + $35 = HEAP32[(32504)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -16475,8 +20702,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(32356)>>2]|0; - $43 = HEAP32[(32344)>>2]|0; + $42 = HEAP32[(32516)>>2]|0; + $43 = HEAP32[(32504)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -16484,8 +20711,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(32356)>>2]|0; - $51 = HEAP32[(32344)>>2]|0; + $50 = HEAP32[(32516)>>2]|0; + $51 = HEAP32[(32504)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -16493,9 +20720,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(32344)>>2]|0; + $58 = HEAP32[(32504)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(32344)>>2] = $59; + HEAP32[(32504)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -16504,20 +20731,20 @@ function _rlEnd() { $$04347 = $60; } } - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; break; } case 4: { - $61 = HEAP32[8096]|0; - $62 = HEAP32[(32392)>>2]|0; + $61 = HEAP32[8136]|0; + $62 = HEAP32[(32552)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } $64 = (($61) - ($62))|0; @@ -16525,22 +20752,22 @@ function _rlEnd() { if ($65) { $$04248 = 0; } else { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(32404)>>2]|0; - $67 = HEAP32[(32392)>>2]|0; + $66 = HEAP32[(32564)>>2]|0; + $67 = HEAP32[(32552)>>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; + $73 = HEAP32[(32564)>>2]|0; + $74 = HEAP32[(32552)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16548,8 +20775,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(32404)>>2]|0; - $82 = HEAP32[(32392)>>2]|0; + $81 = HEAP32[(32564)>>2]|0; + $82 = HEAP32[(32552)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16557,8 +20784,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(32404)>>2]|0; - $90 = HEAP32[(32392)>>2]|0; + $89 = HEAP32[(32564)>>2]|0; + $90 = HEAP32[(32552)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16566,9 +20793,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(32392)>>2]|0; + $97 = HEAP32[(32552)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(32392)>>2] = $98; + HEAP32[(32552)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16577,15 +20804,15 @@ function _rlEnd() { $$04248 = $99; } } - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; break; } case 7: { - $100 = HEAP32[8108]|0; - $101 = HEAP32[(32440)>>2]|0; + $100 = HEAP32[8148]|0; + $101 = HEAP32[(32600)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16593,16 +20820,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(32452)>>2]|0; - $106 = HEAP32[(32440)>>2]|0; + $105 = HEAP32[(32612)>>2]|0; + $106 = HEAP32[(32600)>>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; + $112 = HEAP32[(32612)>>2]|0; + $113 = HEAP32[(32600)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16610,8 +20837,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(32452)>>2]|0; - $121 = HEAP32[(32440)>>2]|0; + $120 = HEAP32[(32612)>>2]|0; + $121 = HEAP32[(32600)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16619,8 +20846,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(32452)>>2]|0; - $129 = HEAP32[(32440)>>2]|0; + $128 = HEAP32[(32612)>>2]|0; + $129 = HEAP32[(32600)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16628,9 +20855,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(32440)>>2]|0; + $136 = HEAP32[(32600)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(32440)>>2] = $137; + HEAP32[(32600)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16641,17 +20868,17 @@ function _rlEnd() { } } } - $139 = HEAP32[8108]|0; - $140 = HEAP32[(32436)>>2]|0; + $139 = HEAP32[8148]|0; + $140 = HEAP32[(32596)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(32448)>>2]|0; - $$promoted = HEAP32[(32436)>>2]|0; + $142 = HEAP32[(32608)>>2]|0; + $$promoted = HEAP32[(32596)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16659,17 +20886,17 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(32436)>>2] = $147; - $148 = +HEAPF32[743]; + HEAP32[(32596)>>2] = $147; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; break; } default: { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } } @@ -16686,11 +20913,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[8262]|0; + $3 = HEAP32[8302]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[7822]|0; - $6 = HEAP32[8263]|0; + $5 = HEAP32[7862]|0; + $6 = HEAP32[8303]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -16698,16 +20925,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[8263] = $10; + HEAP32[8303] = $10; STACKTOP = sp;return; } - $11 = HEAP32[7825]|0; + $11 = HEAP32[7865]|0; switch ($11|0) { case 1: { - $12 = HEAP32[8084]|0; + $12 = HEAP32[8124]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(32348)>>2]|0; + $14 = HEAP32[(32508)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -16718,19 +20945,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[8084] = $21; + HEAP32[8124] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,8343,$vararg_buffer); + _TraceLog(1,8111,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[8096]|0; + $22 = HEAP32[8136]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(32396)>>2]|0; + $24 = HEAP32[(32556)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -16741,19 +20968,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[8096] = $31; + HEAP32[8136] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,8368,$vararg_buffer1); + _TraceLog(1,8136,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[8108]|0; + $32 = HEAP32[8148]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(32444)>>2]|0; + $34 = HEAP32[(32604)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -16764,9 +20991,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[8108] = $41; - $42 = HEAP32[7823]|0; - $43 = HEAP32[7824]|0; + HEAP32[8148] = $41; + $42 = HEAP32[7863]|0; + $43 = HEAP32[7864]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -16774,7 +21001,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,8397,$vararg_buffer3); + _TraceLog(1,8165,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -16789,7 +21016,7 @@ function _rlVertex2f($0,$1) { $1 = +$1; var $2 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $2 = +HEAPF32[743]; + $2 = +HEAPF32[746]; _rlVertex3f($0,$1,$2); return; } @@ -16798,13 +21025,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[7825]|0; + $2 = HEAP32[7865]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(32448)>>2]|0; - $5 = HEAP32[(32436)>>2]|0; + $4 = HEAP32[(32608)>>2]|0; + $5 = HEAP32[(32596)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -16812,7 +21039,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(32436)>>2] = $10; + HEAP32[(32596)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -16831,18 +21058,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[7825]|0; + $4 = HEAP32[7865]|0; switch ($4|0) { case 1: { - $$sink37 = (32344);$$sink38 = (32356); + $$sink37 = (32504);$$sink38 = (32516); break; } case 4: { - $$sink37 = (32392);$$sink38 = (32404); + $$sink37 = (32552);$$sink38 = (32564); break; } case 7: { - $$sink37 = (32440);$$sink38 = (32452); + $$sink37 = (32600);$$sink38 = (32612); break; } default: { @@ -16881,8 +21108,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[7823]|0; - $2 = HEAP32[7824]|0; + $1 = HEAP32[7863]|0; + $2 = HEAP32[7864]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -16895,9 +21122,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[7824] = $10; + HEAP32[7864] = $10; } - $11 = HEAP32[7824]|0; + $11 = HEAP32[7864]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -16908,7 +21135,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[8108]|0; + $0 = HEAP32[8148]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -16946,7 +21173,7 @@ 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; + ;HEAP32[$0>>2]=HEAP32[31020>>2]|0;HEAP32[$0+4>>2]=HEAP32[31020+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[31020+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[31020+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[31020+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[31020+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[31020+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[31020+28>>2]|0; return; } function _MeasureTextEx($0,$1,$2,$3,$4) { @@ -17422,8 +21649,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(34927,$0,$1)|0); - STACKTOP = sp;return (34927|0); + (_vsprintf(37239,$0,$1)|0); + STACKTOP = sp;return (37239|0); } function _MeasureText($0,$1) { $0 = $0|0; @@ -17462,22 +21689,22 @@ 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[8264]|0; - $4 = HEAP32[744]|0; + $3 = HEAP32[8304]|0; + $4 = HEAP32[747]|0; $5 = ($3|0)<($4|0); if ($5) { $6 = (($3) + 1)|0; $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[8265] = $7; - HEAP32[744] = $7; + HEAP32[8305] = $7; + HEAP32[747] = $7; $$sink = 0; } - HEAP32[8264] = $$sink; - $8 = HEAP32[8265]|0; + HEAP32[8304] = $$sink; + $8 = HEAP32[8305]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(8422,$$byval_copy)|0); + (_FormatText(8190,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -17486,7 +21713,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(34927,$0,$1,20,$$byval_copy); + _DrawText(37239,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _emscripten_GetProcAddress($0) { @@ -17535,7 +21762,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,8430)|0); + $12 = (_strstr($11,8198)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -17544,7 +21771,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,8434)|0); + $17 = (_strstr($16,8202)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -17553,7 +21780,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,8438)|0); + $22 = (_strstr($21,8206)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -17562,7 +21789,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,8442)|0); + $27 = (_strstr($26,8210)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -17571,1210 +21798,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,8448)|0); + $32 = (_strcmp($31,8216)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,8486)|0); + $35 = (_strcmp($34,8254)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 8505; + HEAP32[$3>>2] = 8273; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,8518)|0); + $38 = (_strcmp($37,8286)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 8539; + HEAP32[$3>>2] = 8307; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,8554)|0); + $41 = (_strcmp($40,8322)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 8569; + HEAP32[$3>>2] = 8337; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,8584)|0); + $44 = (_strcmp($43,8352)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 8599; + HEAP32[$3>>2] = 8367; } } else { - HEAP32[$3>>2] = 8470; + HEAP32[$3>>2] = 8238; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,8614)|0); + $47 = (_strcmp($46,8382)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,8628)|0); + $50 = (_strcmp($49,8396)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,8640)|0); + $53 = (_strcmp($52,8408)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 6; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,8654)|0); + $56 = (_strcmp($55,8422)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 7; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,8666)|0); + $59 = (_strcmp($58,8434)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 8; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,8680)|0); + $62 = (_strcmp($61,8448)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 9; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,8694)|0); + $65 = (_strcmp($64,8462)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 10; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,8711)|0); + $68 = (_strcmp($67,8479)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,8734)|0); + $71 = (_strcmp($70,8502)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,8760)|0); + $74 = (_strcmp($73,8528)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,8773)|0); + $77 = (_strcmp($76,8541)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,8789)|0); + $80 = (_strcmp($79,8557)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,8802)|0); + $83 = (_strcmp($82,8570)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 11; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,8816)|0); + $86 = (_strcmp($85,8584)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,8836)|0); + $89 = (_strcmp($88,8604)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,8856)|0); + $92 = (_strcmp($91,8624)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,8873)|0); + $95 = (_strcmp($94,8641)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,8890)|0); + $98 = (_strcmp($97,8658)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,8902)|0); + $101 = (_strcmp($100,8670)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 12; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,8915)|0); + $104 = (_strcmp($103,8683)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 13; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,8931)|0); + $107 = (_strcmp($106,8699)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,8954)|0); + $110 = (_strcmp($109,8722)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,8967)|0); + $113 = (_strcmp($112,8735)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,8983)|0); + $116 = (_strcmp($115,8751)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,8994)|0); + $119 = (_strcmp($118,8762)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 14; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,9013)|0); + $122 = (_strcmp($121,8781)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 15; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,9035)|0); + $125 = (_strcmp($124,8803)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 16; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,9054)|0); + $128 = (_strcmp($127,8822)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,9083)|0); + $131 = (_strcmp($130,8851)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,9100)|0); + $134 = (_strcmp($133,8868)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,9115)|0); + $137 = (_strcmp($136,8883)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,9130)|0); + $140 = (_strcmp($139,8898)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,9151)|0); + $143 = (_strcmp($142,8919)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,9171)|0); + $146 = (_strcmp($145,8939)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,9191)|0); + $149 = (_strcmp($148,8959)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,9217)|0); + $152 = (_strcmp($151,8985)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,9236)|0); + $155 = (_strcmp($154,9004)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,9248)|0); + $158 = (_strcmp($157,9016)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,9260)|0); + $161 = (_strcmp($160,9028)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,9272)|0); + $164 = (_strcmp($163,9040)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,9284)|0); + $167 = (_strcmp($166,9052)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 17; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,9296)|0); + $170 = (_strcmp($169,9064)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,9308)|0); + $173 = (_strcmp($172,9076)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,9320)|0); + $176 = (_strcmp($175,9088)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,9332)|0); + $179 = (_strcmp($178,9100)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,9345)|0); + $182 = (_strcmp($181,9113)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,9358)|0); + $185 = (_strcmp($184,9126)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,9371)|0); + $188 = (_strcmp($187,9139)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,9384)|0); + $191 = (_strcmp($190,9152)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,9397)|0); + $194 = (_strcmp($193,9165)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,9410)|0); + $197 = (_strcmp($196,9178)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,9423)|0); + $200 = (_strcmp($199,9191)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,9436)|0); + $203 = (_strcmp($202,9204)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,9455)|0); + $206 = (_strcmp($205,9223)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,9474)|0); + $209 = (_strcmp($208,9242)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,9493)|0); + $212 = (_strcmp($211,9261)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 18; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,9506)|0); + $215 = (_strcmp($214,9274)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 19; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,9524)|0); + $218 = (_strcmp($217,9292)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 20; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,9542)|0); + $221 = (_strcmp($220,9310)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 21; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,9560)|0); + $224 = (_strcmp($223,9328)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 22; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,9578)|0); + $227 = (_strcmp($226,9346)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,9598)|0); + $230 = (_strcmp($229,9366)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,8539)|0); + $233 = (_strcmp($232,8307)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,9616)|0); + $236 = (_strcmp($235,9384)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,9631)|0); + $239 = (_strcmp($238,9399)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,9652)|0); + $242 = (_strcmp($241,9420)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,9667)|0); + $245 = (_strcmp($244,9435)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,9685)|0); + $248 = (_strcmp($247,9453)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,9701)|0); + $251 = (_strcmp($250,9469)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,9720)|0); + $254 = (_strcmp($253,9488)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,9734)|0); + $257 = (_strcmp($256,9502)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,9749)|0); + $260 = (_strcmp($259,9517)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,8470)|0); + $263 = (_strcmp($262,8238)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,9760)|0); + $266 = (_strcmp($265,9528)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,8569)|0); + $269 = (_strcmp($268,8337)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 23; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,8599)|0); + $272 = (_strcmp($271,8367)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 24; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,9776)|0); + $275 = (_strcmp($274,9544)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,9803)|0); + $278 = (_strcmp($277,9571)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,9817)|0); + $281 = (_strcmp($280,9585)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,8505)|0); + $284 = (_strcmp($283,8273)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,9837)|0); + $287 = (_strcmp($286,9605)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,9855)|0); + $290 = (_strcmp($289,9623)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,9867)|0); + $293 = (_strcmp($292,9635)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,9888)|0); + $296 = (_strcmp($295,9656)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 25; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,9906)|0); + $299 = (_strcmp($298,9674)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 26; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,9924)|0); + $302 = (_strcmp($301,9692)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 27; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,9945)|0); + $305 = (_strcmp($304,9713)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,9971)|0); + $308 = (_strcmp($307,9739)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,9994)|0); + $311 = (_strcmp($310,9762)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,10032)|0); + $314 = (_strcmp($313,9800)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,10048)|0); + $317 = (_strcmp($316,9816)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,10063)|0); + $320 = (_strcmp($319,9831)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,10086)|0); + $323 = (_strcmp($322,9854)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,10099)|0); + $326 = (_strcmp($325,9867)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 28; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,10113)|0); + $329 = (_strcmp($328,9881)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 29; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,10127)|0); + $332 = (_strcmp($331,9895)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,10147)|0); + $335 = (_strcmp($334,9915)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,10167)|0); + $338 = (_strcmp($337,9935)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,10183)|0); + $341 = (_strcmp($340,9951)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,10201)|0); + $344 = (_strcmp($343,9969)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,10217)|0); + $347 = (_strcmp($346,9985)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,10232)|0); + $350 = (_strcmp($349,10000)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,10254)|0); + $353 = (_strcmp($352,10022)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 30; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,10272)|0); + $356 = (_strcmp($355,10040)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 31; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,10293)|0); + $359 = (_strcmp($358,10061)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,10311)|0); + $362 = (_strcmp($361,10079)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,10324)|0); + $365 = (_strcmp($364,10092)|0); $366 = ($365|0)!=(0); if (!($366)) { - HEAP32[$1>>2] = 1; + HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,10339)|0); + $368 = (_strcmp($367,10107)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,10353)|0); + $371 = (_strcmp($370,10121)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,10363)|0); + $374 = (_strcmp($373,10131)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,10373)|0); + $377 = (_strcmp($376,10141)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,10395)|0); + $380 = (_strcmp($379,10163)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,10421)|0); + $383 = (_strcmp($382,10189)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,10448)|0); + $386 = (_strcmp($385,10216)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,10461)|0); + $389 = (_strcmp($388,10229)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,10476)|0); + $392 = (_strcmp($391,10244)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,10491)|0); + $395 = (_strcmp($394,10259)|0); $396 = ($395|0)!=(0); if (!($396)) { - HEAP32[$1>>2] = 2; + HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,10515)|0); + $398 = (_strcmp($397,10283)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,10526)|0); + $401 = (_strcmp($400,10294)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 32; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,10548)|0); + $404 = (_strcmp($403,10316)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,10570)|0); + $407 = (_strcmp($406,10338)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,10594)|0); + $410 = (_strcmp($409,10362)|0); $411 = ($410|0)!=(0); if (!($411)) { - HEAP32[$1>>2] = 3; + HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,10603)|0); + $413 = (_strcmp($412,10371)|0); $414 = ($413|0)!=(0); if (!($414)) { - HEAP32[$1>>2] = 4; + HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,10611)|0); + $416 = (_strcmp($415,10379)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,10624)|0); + $419 = (_strcmp($418,10392)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,10638)|0); + $422 = (_strcmp($421,10406)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,10650)|0); + $425 = (_strcmp($424,10418)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,10659)|0); + $428 = (_strcmp($427,10427)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,10669)|0); + $431 = (_strcmp($430,10437)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,10681)|0); + $434 = (_strcmp($433,10449)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,10692)|0); + $437 = (_strcmp($436,10460)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,10700)|0); + $440 = (_strcmp($439,10468)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,10712)|0); + $443 = (_strcmp($442,10480)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,10727)|0); + $446 = (_strcmp($445,10495)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,10739)|0); + $449 = (_strcmp($448,10507)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,10753)|0); + $452 = (_strcmp($451,10521)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,10778)|0); + $455 = (_strcmp($454,10546)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,10795)|0); + $458 = (_strcmp($457,10563)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,10811)|0); + $461 = (_strcmp($460,10579)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,10827)|0); + $464 = (_strcmp($463,10595)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,10839)|0); + $467 = (_strcmp($466,10607)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 33; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,10851)|0); + $470 = (_strcmp($469,10619)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 34; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,10875)|0); + $473 = (_strcmp($472,10643)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,10888)|0); + $476 = (_strcmp($475,10656)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,10902)|0); + $479 = (_strcmp($478,10670)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 35; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,10924)|0); + $482 = (_strcmp($481,10692)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 36; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,10931)|0); + $485 = (_strcmp($484,10699)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,10947)|0); + $488 = (_strcmp($487,10715)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,10964)|0); + $491 = (_strcmp($490,10732)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,10981)|0); + $494 = (_strcmp($493,10749)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,10997)|0); + $497 = (_strcmp($496,10765)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,11013)|0); + $500 = (_strcmp($499,10781)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,11030)|0); + $503 = (_strcmp($502,10798)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,11044)|0); + $506 = (_strcmp($505,10812)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,11056)|0); + $509 = (_strcmp($508,10824)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,11067)|0); + $512 = (_strcmp($511,10835)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,11080)|0); + $515 = (_strcmp($514,10848)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,11090)|0); + $518 = (_strcmp($517,10858)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,11107)|0); + $521 = (_strcmp($520,10875)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,11119)|0); + $524 = (_strcmp($523,10887)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,11141)|0); + $527 = (_strcmp($526,10909)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,11161)|0); + $530 = (_strcmp($529,10929)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,11174)|0); + $533 = (_strcmp($532,10942)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,11196)|0); + $536 = (_strcmp($535,10964)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,11216)|0); + $539 = (_strcmp($538,10984)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,11233)|0); + $542 = (_strcmp($541,11001)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,11250)|0); + $545 = (_strcmp($544,11018)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,11270)|0); + $548 = (_strcmp($547,11038)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -18796,7 +23023,15 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (33064|0); + return (33224|0); +} +function ___emscripten_pthread_data_constructor() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 188|0); + HEAP32[$1>>2] = (33264); + return; } function ___stdio_close($0) { $0 = $0|0; @@ -18806,7 +23041,7 @@ function ___stdio_close($0) { $vararg_buffer = sp; $1 = ((($0)) + 60|0); $2 = HEAP32[$1>>2]|0; - $3 = (_dummy_738($2)|0); + $3 = (_dummy_736($2)|0); HEAP32[$vararg_buffer>>2] = $3; $4 = (___syscall6(6,($vararg_buffer|0))|0); $5 = (___syscall_ret($4)|0); @@ -18986,12 +23221,7 @@ function ___pthread_self_108() { $0 = (_pthread_self()|0); return ($0|0); } -function _pthread_self() { - var label = 0, sp = 0; - sp = STACKTOP; - return (2980|0); -} -function _dummy_738($0) { +function _dummy_736($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; @@ -19124,7 +23354,7 @@ function _vsnprintf($0,$1,$2,$3) { 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)); + dest=$5; src=3124; 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) { @@ -19195,7 +23425,7 @@ function _vfprintf($0,$1,$2) { $$0 = -1; } else { $9 = ((($0)) + 76|0); - $10 = HEAP32[$9>>2]|0; + $10 = (Atomics_load(HEAP32,$9>>2)|0); $11 = ($10|0)>(-1); if ($11) { $12 = (___lockfile($0)|0); @@ -19608,7 +23838,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((11386 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((11154 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -19786,7 +24016,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 = 11850;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 11618;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -19807,7 +24037,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 11850;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 11618;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -19815,8 +24045,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 11850 : (11852); - $$$ = $238 ? $$ : (11851); + $$ = $240 ? 11618 : (11620); + $$$ = $238 ? $$ : (11619); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -19833,7 +24063,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 11850;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 11618;$242 = $167;$243 = $170; label = 66; break; } @@ -19846,7 +24076,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 = 11850;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 11618;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -19860,7 +24090,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 11860; + $271 = $270 ? $269 : 11628; $$1 = $271; label = 71; break; @@ -19883,7 +24113,7 @@ function _printf_core($0,$1,$2,$3,$4) { $$pre349 = HEAP32[$6>>2]|0; $284 = ($$0254|0)==(0); if ($284) { - _pad_674($0,32,$$1260,0,$$1263$); + _pad_672($0,32,$$1260,0,$$1263$); $$0240$lcssa357 = 0; label = 84; } else { @@ -19900,7 +24130,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 11850;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 11618;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -19922,8 +24152,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (11850 + ($208)|0); - $$289 = $or$cond283 ? 11850 : $209; + $209 = (11618 + ($208)|0); + $$289 = $or$cond283 ? 11618 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -19944,7 +24174,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 = 11850;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 11618;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -19980,7 +24210,7 @@ function _printf_core($0,$1,$2,$3,$4) { $$0 = -1; break L1; } - _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + _pad_672($0,32,$$1260,$$0240$lcssa,$$1263$); $295 = ($$0240$lcssa|0)==(0); if ($295) { $$0240$lcssa357 = 0; @@ -20041,7 +24271,7 @@ function _printf_core($0,$1,$2,$3,$4) { else if ((label|0) == 84) { label = 0; $303 = $$1263$ ^ 8192; - _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + _pad_672($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; @@ -20055,14 +24285,14 @@ function _printf_core($0,$1,$2,$3,$4) { $312 = (($$$5) + ($$2234))|0; $313 = ($$1260|0)<($312|0); $$2261 = $313 ? $312 : $$1260; - _pad_674($0,32,$$2261,$312,$$6268); + _pad_672($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); + _pad_672($0,48,$$2261,$312,$314); + _pad_672($0,48,$$$5,$310,0); _out($0,$$2,$310); $315 = $$6268 ^ 8192; - _pad_674($0,32,$$2261,$312,$315); + _pad_672($0,32,$$2261,$312,$315); $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; } L114: do { @@ -20351,3329 +24581,5392 @@ function _pop_arg($0,$1,$2) { $76 = $75; HEAP32[$76>>2] = 0; break L1; - break; + 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 = (11670 + ($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; } - 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; + $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; } - 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; + } + } 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; + } } - 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; + 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; + } } - 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; + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_672($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; } - default: { - break L1; + } + $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_673($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11635; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11636) : (11641); + $$$ = $16 ? $$ : (11638); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_673($$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 = (11670 + ($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; + } } - } 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; + $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_672($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_672($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_672($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_672($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 { - $$056 = $14;$15 = $17;$8 = $16; + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; } - } - } - 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; + $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 { - $$06 = $10;$11 = $13;$7 = $12; + $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; } - } - } - 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; + $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 { - break; + $$3484$lcssa = $$1482$lcssa;$$3501$lcssa = $$1499$lcssa; } - } - $$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; + $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 { - $$012 = $27;$$111 = $26; + $$1515 = 0; } - } - } - 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; + $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) { - $9 = HEAP8[$$03555>>0]|0; - $10 = ($9<<24>>24)==($8<<24>>24); - if ($10) { - $$035$lcssa65 = $$03555;$$036$lcssa64 = $$03654; - label = 6; - break L1; + $252 = ($$7505>>>0)>($$9$ph>>>0); + if (!($252)) { + $$lcssa673 = 0; + break; } - $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; + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; } else { - $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; - label = 5; + $$lcssa673 = 1; 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; + $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 { - $$0$lcssa = $29;$$137$lcssa = $30; - label = 11; - break L11; + $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_672($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_672($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; } - $$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; + $335 = $$1465; + $336 = (($324) - ($335))|0; + _out($0,$$1465,$336); + $337 = ((($$5493597)) + 4|0); + $338 = ($337>>>0)>($$556>>>0); + if ($338) { break; } else { - $$140 = $$0$lcssa;$$23839 = $$137$lcssa; + $$5493597 = $337; } } - while(1) { - $33 = HEAP8[$$140>>0]|0; - $34 = ($33<<24>>24)==($18<<24>>24); - if ($34) { - $$2 = $$140;$$3 = $$23839; - break L8; + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11686,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; + } } - $35 = ((($$140)) + 1|0); - $36 = (($$23839) + -1)|0; - $37 = ($36|0)==(0); - if ($37) { - $$2 = $35;$$3 = 0; - break; - } else { - $$140 = $35;$$23839 = $36; + } else { + $$4478$lcssa = $$3477; + } + $357 = (($$4478$lcssa) + 9)|0; + _pad_672($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,11686,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_672($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); } + $387 = $4 ^ 8192; + _pad_672($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11654 : 11658; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11662 : 11666; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_672($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_672($0,32,$2,$32,$34); + $$sink562 = $32; } } while(0); - $38 = ($$3|0)!=(0); - $39 = $38 ? $$2 : 0; - return ($39|0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|0); } -function _pad_674($0,$1,$2,$3,$4) { - $0 = $0|0; +function ___DOUBLE_BITS_673($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; - $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; + var $2 = 0.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; + $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 { - $$0$lcssa = $9; + $$016 = $0;$storemerge = 0; } - _out($0,$5,$$0$lcssa); + HEAP32[$1>>2] = $storemerge; + $$0 = $$016; + break; + } + case 2047: { + $$0 = $0; + break; } - 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; + 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|0); + } + return (+$$0); } -function _fmt_fp($0,$1,$2,$3,$4,$5) { +function _wcrtomb($0,$1,$2) { $0 = $0|0; - $1 = +$1; + $1 = $1|0; $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; + 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; - 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; + $3 = ($0|0)==(0|0); 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; + if ($3) { + $$0 = 1; + } else { + $4 = ($1>>>0)<(128); + if ($4) { + $5 = $1&255; + HEAP8[$0>>0] = $5; + $$0 = 1; + break; } - $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; + $6 = (___pthread_self_446()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = (Atomics_load(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 { - $$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; - } + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + 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; + } + $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; } - $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; + $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 { - $$pre = HEAP32[$7>>2]|0; - $$3 = $36;$$pr = $$pre; + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; } - $112 = ($$pr|0)<(0); - $113 = ((($6)) + 288|0); - $$556 = $112 ? $6 : $113; - $$0498 = $$556;$$4 = $$3; + } + } while(0); + return ($$0|0); +} +function ___pthread_self_446() { + 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 = (11688 + ($$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 = 11776;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 11776; + } else { + $$01214 = 11776;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$113 = $$01214; 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 { + $9 = HEAP8[$$113>>0]|0; + $10 = ($9<<24>>24)==(0); + $11 = ((($$113)) + 1|0); + if ($10) { break; + } else { + $$113 = $11; } } - $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; + $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 = (Atomics_load(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) { - $137 = ($$2500>>>0)>($$2483$ph>>>0); - if (!($137)) { - break; + $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; } - $138 = ((($$2500)) + -4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(0); - if ($140) { - $$2500 = $138; - } else { - break; + $39 = (($35) + ($31))|0; + $40 = (($0) + ($39)|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)==(0); + if (!($42)) { + $$4 = 0; + break L1; } - } - $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; - } + $43 = (($0) + ($35)|0); + $44 = (_strcmp($2,$43)|0); + $45 = ($44|0)==(0); + if ($45) { + 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; + $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 { - $171 = ((($$3501647)) + 4|0); - HEAP32[$$3501647>>2] = $164; - $$$3484692 = $$$3484;$$4502 = $171; + $$090 = $$191;$$094 = $$195; } - } 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; + $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 { - $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; - break; + $$4 = 0; } - } - } 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; - } - } + $$4 = 0; } } else { - $$1515 = 0; + $$4 = 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; + } 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) { - $213 = ($$1531630*10)|0; - $$0527 = (($$0527631) + 1)|0; - $exitcond = ($$0527|0)==(9); - if ($exitcond) { - $$1531$lcssa = $213; + $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 { - $$0527631 = $$0527;$$1531630 = $213; + $$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 { - $$1531$lcssa = 10; + $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; } - $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; + } 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 { - $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; + $$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 { - $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; + $$03039 = $13; } - $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; + } + } + $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; } - $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; + $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 { - $$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; - } - } + $$029$lcssa = $31; + break; } - } else { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; } + } else { + $$029$lcssa = $$030$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(0); + $38 = $1&255; + $$1 = $$029$lcssa; while(1) { - $252 = ($$7505>>>0)>($$9$ph>>>0); - if (!($252)) { - $$lcssa673 = 0; + $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; - } - $253 = ((($$7505)) + -4|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)==(0); - if ($255) { - $$7505 = $253; } else { - $$lcssa673 = 1; - break; + $$1 = $42; } } - $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; + } + } 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 { - $262 = (($5) + -2)|0; - $263 = (($$539$) + -1)|0; - $$0479 = $262;$$2476 = $263; + $$02642 = $11;$$02741 = $12; } - $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; - } + } + } + $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 { - $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + $$0$lcssa = $22;$$025$lcssa = $23; + break; } - } 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; - } - } + $$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 { - $$1512$lcssa = $300; + $$12834 = $34;$$135 = $33; } - $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; + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((33288|0)); + return (33296|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((33288|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 = (Atomics_load(HEAP32,780)|0); + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = (Atomics_load(HEAP32,780)|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) { - $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; - } + $14 = ((($$02327)) + 76|0); + $15 = (Atomics_load(HEAP32,$14>>2)|0); + $16 = ($15|0)>(-1); + if ($16) { + $17 = (___lockfile($$02327)|0); + $26 = $17; } 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; - } + $26 = 0; } - $335 = $$1465; - $336 = (($324) - ($335))|0; - _out($0,$$1465,$336); - $337 = ((($$5493597)) + 4|0); - $338 = ($337>>>0)>($$556>>>0); - if ($338) { - break; + $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 { - $$5493597 = $337; + $$1 = $$02426; } - } - $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; - } + $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; } - } else { - $$4478$lcssa = $$3477; } - $357 = (($$4478$lcssa) + 9)|0; - _pad_674($0,48,$357,9,0); + } + ___ofl_unlock(); + $$0 = $$024$lcssa; + } else { + $2 = ((($0)) + 76|0); + $3 = (Atomics_load(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 { - $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; + ___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; } - $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; + $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 { - $369 = ($$0>>>0)>($8>>>0); - if (!($369)) { - $$2 = $$0; + $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; - } - $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); + return ($$0|0); } -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; +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; - 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; + $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 { - $$016 = $0;$storemerge = 0; + $$sink$in = $15;$$sink17$sink = $11; } - 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); + return ($$lcssa|0); } -function _wcrtomb($0,$1,$2) { +function _threebyte_strstr($0,$1) { $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; + 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; - $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; + $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) { - $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; + $$016$lcssa = $30;$$lcssa = $35; break; + } else { + $$01619 = $30;$$020 = $34; } - $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; + } + } + $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 { - $56 = (___errno_location()|0); - HEAP32[$56>>2] = 84; - $$0 = -1; - break; + $$sink2124 = $40;$39 = $43; } } - } 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); + } + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); } -function ___strerror_l($0,$1) { +function _twoway_strstr($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; + 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; - $$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; + 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 { - $$01214 = 12008;$$115 = $$016; - label = 5; - } - } - if ((label|0) == 5) { - while(1) { - label = 0; - $$113 = $$01214; + $5 = $4&255; + $$0187266 = 0;$12 = $4;$20 = $5; while(1) { - $9 = HEAP8[$$113>>0]|0; + $8 = (($0) + ($$0187266)|0); + $9 = HEAP8[$8>>0]|0; $10 = ($9<<24>>24)==(0); - $11 = ((($$113)) + 1|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 { - $$113 = $11; + $$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; } - $12 = (($$115) + -1)|0; - $13 = ($12|0)==(0); - if ($13) { - $$012$lcssa = $11; - break; + } + } 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 { - $$01214 = $11;$$115 = $12; - label = 5; + $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; } } - } - $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); + } while(0); + STACKTOP = sp;return ($$3|0); } -function ___mo_lookup($0,$1,$2) { +function _strspn($0,$1) { $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 $$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 $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; + var $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $div = 0, $div21 = 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; + 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) { - $25 = $$094 >>> 1; - $26 = (($$090) + ($25))|0; - $27 = $26 << 1; - $28 = (($27) + ($23))|0; - $29 = (($0) + ($28<<2)|0); + $div = ($27&255) >>> 5; + $28 = $div&255; + $29 = (($2) + ($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; + $31 = $27 & 31; + $32 = $31&255; + $33 = 1 << $32; + $34 = $30 & $33; + $35 = ($34|0)==(0); + if ($35) { + $$1$lcssa = $$123; + break L10; } - $43 = (($0) + ($35)|0); - $44 = (_strcmp($2,$43)|0); - $45 = ($44|0)==(0); - if ($45) { + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; 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; + $$123 = $36;$27 = $37; } } - $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); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; } } while(0); - return ($$4|0); + STACKTOP = sp;return ($$0|0); } -function _swapc($0,$1) { +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 = 14264; + $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 $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + var $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); + $2 = HEAP32[748]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); } -function ___fwritex($0,$1,$2) { +function _strcspn($0,$1) { $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; + 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; - $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; + 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 { - $$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; + $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) { - $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) { + $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 { - $$038 = $22; + $$01922 = $32;$23 = $33; } } - $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); + 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 ___towrite($0) { +function _strcat($0,$1) { $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; + $1 = $1|0; + var $2 = 0, $3 = 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; + $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[8325]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } } else { - $10 = $7 | 32; - HEAP32[$0>>2] = $10; - $$0 = -1; + $$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[8325] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[8325] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[8325] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[8325] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); return ($$0|0); } -function _sn_write($0,$1,$2) { +function __emscripten_atomic_fetch_and_add_u64($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; + 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, $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); - $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); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function _strlen($0) { +function __emscripten_atomic_fetch_and_and_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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; - } + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } } - } while(0); - if ((label|0) == 4) { - $$0 = $$015$lcssa; + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_or_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { 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 { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { 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; - } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_sub_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } } - $21 = $$1$lcssa; - $$sink = $21; + $10 = ($7|0)==(0); + if ($10) { + break; + } } - $22 = (($$sink) - ($1))|0; - return ($22|0); + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function _strchr($0,$1) { +function __emscripten_atomic_fetch_and_xor_u64($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 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); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function ___strchrnul($0,$1) { +function _emscripten_async_run_in_main_thread($0) { $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; + var $$0 = 0, $$0$in = 0, $$0$in19 = 0, $$0$lcssa = 0, $$020 = 0, $$expand_i1_val = 0, $$lcssa = 0, $$lcssa18 = 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; + var $9 = 0, $call_queue$init$val = 0, $call_queue$init$val$pre_trunc = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = $1 & 255; + $1 = ($0|0)==(0|0); + if ($1) { + ___assert_fail((13870|0),(13702|0),260,(13875|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); $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; + if (!($3)) { + __do_call($0); + return; + } + (___pthread_mutex_lock(33820)|0); + $call_queue$init$val$pre_trunc = HEAP8[38335]|0; + $call_queue$init$val = $call_queue$init$val$pre_trunc&1; + if (!($call_queue$init$val)) { + $$expand_i1_val = 1; + HEAP8[38335] = $$expand_i1_val; + } + $4 = (Atomics_load(HEAP32, 8462)|0); + $5 = (Atomics_load(HEAP32, 8463)|0); + $$0$in19 = (($5) + 1)|0; + $$020 = (($$0$in19|0) % 128)&-1; + $6 = ($$020|0)==($4|0); + if ($6) { + $7 = $4; + while(1) { + (___pthread_mutex_unlock(33820)|0); + (_emscripten_futex_wait((33848|0),($7|0),inf)|0); + (___pthread_mutex_lock(33820)|0); + $8 = (Atomics_load(HEAP32, 8462)|0); + $9 = (Atomics_load(HEAP32, 8463)|0); + $$0$in = (($9) + 1)|0; + $$0 = (($$0$in|0) % 128)&-1; + $10 = ($$0|0)==($8|0); + if ($10) { + $7 = $8; } 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; - } + $$0$lcssa = $$0;$$lcssa = $9;$$lcssa18 = $8; + break; } } - } 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); + } else { + $$0$lcssa = $$020;$$lcssa = $5;$$lcssa18 = $4; + } + $11 = (33856 + ($$lcssa<<2)|0); + HEAP32[$11>>2] = $0; + $12 = ($$lcssa18|0)==($$lcssa|0); + if ($12) { + _emscripten_asm_const_v(1); + } + $13 = (Atomics_store(HEAP32, 8463, $$0$lcssa)|0); + (___pthread_mutex_unlock(33820)|0); + return; } -function ___stpcpy($0,$1) { +function _emscripten_atomic_add_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } - $$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; - } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_and_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } } + $10 = ($7|0)==(0); + if ($10) { + break; + } } - return ($$029|0); + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); } -function ___ofl_lock() { - var label = 0, sp = 0; +function _emscripten_atomic_cas_u64($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, $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, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - ___lock((33128|0)); - return (33136|0); + $5 = $0; + $6 = $5 >>> 3; + $7 = $6 & 255; + $8 = (34376 + ($7<<2)|0); + while(1) { + while(1) { + $9 = (Atomics_load(HEAP32, $8>>2)|0); + $10 = (Atomics_compareExchange(HEAP32, $8>>2, $9, 1)|0); + $11 = ($9|0)==($10|0); + if ($11) { + break; + } + } + $12 = ($9|0)==(0); + if ($12) { + break; + } + } + $13 = $0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)==($1|0); + $20 = ($18|0)==($2|0); + $21 = $19 & $20; + if (!($21)) { + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); + } + $22 = $0; + $23 = $22; + HEAP32[$23>>2] = $3; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $4; + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); } -function ___ofl_unlock() { - var label = 0, sp = 0; +function _emscripten_atomic_exchange_u32($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - ___unlock((33128|0)); - return; + while(1) { + $2 = (Atomics_load(HEAP32, $0>>2)|0); + $3 = (Atomics_compareExchange(HEAP32, $0>>2, $2, $1)|0); + $4 = ($2|0)==($3|0); + if ($4) { + break; + } + } + return ($2|0); } -function _fflush($0) { +function _emscripten_atomic_exchange_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; - $1 = ($0|0)==(0|0); - do { - if ($1) { - $8 = HEAP32[838]|0; - $9 = ($8|0)==(0|0); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|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; - } - } + break; } - ___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; + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $0; + $18 = $17; + HEAP32[$18>>2] = $1; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $2; + $21 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function _emscripten_atomic_load_f32($0) { + $0 = $0|0; + var $1 = 0, $2 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = (Atomics_load(HEAP32, $0>>2)|0); + $2 = (HEAP32[tempDoublePtr>>2]=$1,+HEAPF32[tempDoublePtr>>2]); + return (+$2); +} +function _emscripten_atomic_load_f64($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.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34376 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { break; } - $6 = (___lockfile($0)|0); - $phitmp = ($6|0)==(0); - $7 = (___fflush_unlocked($0)|0); - if ($phitmp) { - $$0 = $7; - } else { - ___unlockfile($0); - $$0 = $7; + } + $8 = ($5|0)==(0); + if ($8) { + break; + } + } + $9 = +HEAPF64[$0>>3]; + $10 = (Atomics_store(HEAP32, $4>>2, 0)|0); + return (+$9); +} +function _emscripten_atomic_load_u64($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34376 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; } } - } while(0); - return ($$0|0); + $8 = ($5|0)==(0); + if ($8) { + break; + } + } + $9 = $0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (Atomics_store(HEAP32, $4>>2, 0)|0); + tempRet0 = ($14); + return ($11|0); } -function ___fflush_unlocked($0) { +function _emscripten_atomic_or_u64($0,$1,$2) { $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; + $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, $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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } } - } 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); + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_store_f32($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (HEAPF32[tempDoublePtr>>2]=$1,HEAP32[tempDoublePtr>>2]|0); + $3 = (Atomics_store(HEAP32, $0>>2, $2)|0); + $4 = (+($3>>>0)); + return (+$4); +} +function _emscripten_atomic_store_f64($0,$1) { + $0 = $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 = $0; + $3 = $2 >>> 3; + $4 = $3 & 255; + $5 = (34376 + ($4<<2)|0); + while(1) { + while(1) { + $6 = (Atomics_load(HEAP32, $5>>2)|0); + $7 = (Atomics_compareExchange(HEAP32, $5>>2, $6, 1)|0); + $8 = ($6|0)==($7|0); + if ($8) { + break; + } + } + $9 = ($6|0)==(0); + if ($9) { + break; } - $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); + HEAPF64[$0>>3] = $1; + $10 = (Atomics_store(HEAP32, $5>>2, 0)|0); + return (+$1); } -function _strstr($0,$1) { +function _emscripten_atomic_store_u64($0,$1,$2) { $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; + $2 = $2|0; + var $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; - $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; - } - } - } - } - } + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } } - } while(0); - return ($$0|0); + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + HEAP32[$12>>2] = $1; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $2; + $15 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($2); + return ($1|0); } -function _twobyte_strstr($0,$1) { +function _emscripten_atomic_sub_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, 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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); while(1) { - $11 = ((($$sink17$sink)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $$lcssa = 0; - break; + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + 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; + $10 = ($7|0)==(0); + if ($10) { break; - } else { - $$sink$in = $15;$$sink17$sink = $11; } } - return ($$lcssa|0); + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); } -function _threebyte_strstr($0,$1) { +function _emscripten_atomic_xor_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { 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; + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { break; - } else { - $$01619 = $30;$$020 = $34; } } + $10 = ($7|0)==(0); + if ($10) { + break; + } } - $37 = ((($$016$lcssa)) + -2|0); - $38 = $$lcssa ? $37 : 0; - return ($38|0); + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|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; +function _emscripten_main_thread_process_queued_calls() { + var $$0910 = 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, $8 = 0, $9 = 0, $or$cond = 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; + $0 = (_emscripten_is_main_runtime_thread()|0); + $1 = ($0|0)==(0); + if ($1) { + ___assert_fail((13580|0),(13702|0),424,(13766|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); + $3 = ($2|0)==(0); + $4 = HEAP32[8454]|0; + $5 = ($4|0)!=(0); + $or$cond = $3 | $5; + if ($or$cond) { + return; + } + HEAP32[8454] = 1; + (___pthread_mutex_lock(33820)|0); + $6 = (Atomics_load(HEAP32, 8462)|0); + $7 = (Atomics_load(HEAP32, 8463)|0); + $8 = ($6|0)==($7|0); + (___pthread_mutex_unlock(33820)|0); + if (!($8)) { + $$0910 = $6; 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; + $9 = (33856 + ($$0910<<2)|0); + $10 = HEAP32[$9>>2]|0; + __do_call($10); + (___pthread_mutex_lock(33820)|0); + $11 = (($$0910) + 1)|0; + $12 = (($11|0) % 128)&-1; + $13 = (Atomics_store(HEAP32, 8462, $12)|0); + $14 = (Atomics_load(HEAP32, 8463)|0); + $15 = ($12|0)==($14|0); + (___pthread_mutex_unlock(33820)|0); + if ($15) { break; } else { - $$sink2124 = $40;$39 = $43; + $$0910 = $12; } } } - $46 = ((($$sink21$lcssa)) + -3|0); - $47 = $$lcssa ? $46 : 0; - return ($47|0); + (_emscripten_futex_wake((33848|0),2147483647)|0); + HEAP32[8454] = 0; + return; } -function _twoway_strstr($0,$1) { +function _emscripten_sync_run_in_main_thread($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + _emscripten_async_run_in_main_thread($0); + (_emscripten_wait_for_call_v($0,inf)|0); + return; +} +function _emscripten_sync_run_in_main_thread_0($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $1 = sp; + dest=$1; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$1>>2] = $0; + $2 = ((($1)) + 80|0); + HEAP32[$2>>2] = 0; + _emscripten_async_run_in_main_thread($1); + (_emscripten_wait_for_call_v($1,inf)|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _emscripten_sync_run_in_main_thread_1($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; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $2 = sp + 1024|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $2 = sp; + dest=$2; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$2>>2] = $0; + $3 = ((($2)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($2)) + 80|0); + HEAP32[$4>>2] = 0; + _emscripten_async_run_in_main_thread($2); + (_emscripten_wait_for_call_v($2,inf)|0); + $5 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _emscripten_sync_run_in_main_thread_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|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; - } - } + dest=$3; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = $0; + $4 = ((($3)) + 16|0); + HEAP32[$4>>2] = $1; + $5 = ((($3)) + 24|0); + HEAP32[$5>>2] = $2; + $6 = ((($3)) + 80|0); + HEAP32[$6>>2] = 0; + _emscripten_async_run_in_main_thread($3); + (_emscripten_wait_for_call_v($3,inf)|0); + $7 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($7|0); +} +function _emscripten_sync_run_in_main_thread_3($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $4 = sp; + dest=$4; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$4>>2] = $0; + $5 = ((($4)) + 16|0); + HEAP32[$5>>2] = $1; + $6 = ((($4)) + 24|0); + HEAP32[$6>>2] = $2; + $7 = ((($4)) + 32|0); + HEAP32[$7>>2] = $3; + $8 = ((($4)) + 80|0); + HEAP32[$8>>2] = 0; + _emscripten_async_run_in_main_thread($4); + (_emscripten_wait_for_call_v($4,inf)|0); + $9 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _emscripten_sync_run_in_main_thread_4($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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $5 = sp; + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $6 = ((($5)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = ((($5)) + 24|0); + HEAP32[$7>>2] = $2; + $8 = ((($5)) + 32|0); + HEAP32[$8>>2] = $3; + $9 = ((($5)) + 40|0); + HEAP32[$9>>2] = $4; + $10 = ((($5)) + 80|0); + HEAP32[$10>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $11 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _emscripten_sync_run_in_main_thread_5($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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $6 = sp; + dest=$6; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$6>>2] = $0; + $7 = ((($6)) + 16|0); + HEAP32[$7>>2] = $1; + $8 = ((($6)) + 24|0); + HEAP32[$8>>2] = $2; + $9 = ((($6)) + 32|0); + HEAP32[$9>>2] = $3; + $10 = ((($6)) + 40|0); + HEAP32[$10>>2] = $4; + $11 = ((($6)) + 48|0); + HEAP32[$11>>2] = $5; + $12 = ((($6)) + 80|0); + HEAP32[$12>>2] = 0; + _emscripten_async_run_in_main_thread($6); + (_emscripten_wait_for_call_v($6,inf)|0); + $13 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _emscripten_sync_run_in_main_thread_6($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $7 = sp; + dest=$7; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$7>>2] = $0; + $8 = ((($7)) + 16|0); + HEAP32[$8>>2] = $1; + $9 = ((($7)) + 24|0); + HEAP32[$9>>2] = $2; + $10 = ((($7)) + 32|0); + HEAP32[$10>>2] = $3; + $11 = ((($7)) + 40|0); + HEAP32[$11>>2] = $4; + $12 = ((($7)) + 48|0); + HEAP32[$12>>2] = $5; + $13 = ((($7)) + 56|0); + HEAP32[$13>>2] = $6; + $14 = ((($7)) + 80|0); + HEAP32[$14>>2] = 0; + _emscripten_async_run_in_main_thread($7); + (_emscripten_wait_for_call_v($7,inf)|0); + $15 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _emscripten_sync_run_in_main_thread_7($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, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $8 = sp; + dest=$8; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$8>>2] = $0; + $9 = ((($8)) + 16|0); + HEAP32[$9>>2] = $1; + $10 = ((($8)) + 24|0); + HEAP32[$10>>2] = $2; + $11 = ((($8)) + 32|0); + HEAP32[$11>>2] = $3; + $12 = ((($8)) + 40|0); + HEAP32[$12>>2] = $4; + $13 = ((($8)) + 48|0); + HEAP32[$13>>2] = $5; + $14 = ((($8)) + 56|0); + HEAP32[$14>>2] = $6; + $15 = ((($8)) + 64|0); + HEAP32[$15>>2] = $7; + $16 = ((($8)) + 80|0); + HEAP32[$16>>2] = 0; + _emscripten_async_run_in_main_thread($8); + (_emscripten_wait_for_call_v($8,inf)|0); + $17 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($17|0); +} +function _emscripten_sync_run_in_main_thread_xprintf_varargs($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|0; + var $$0 = 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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $3 = sp + 96|0; + $4 = sp + 112|0; + $5 = sp; + HEAP32[$3>>2] = $varargs; + $6 = (_vsnprintf($4,128,$2,$3)|0); + $7 = ($6|0)>(127); + $8 = (($6) + 1)|0; + if ($7) { + $9 = (_malloc($8)|0); + HEAP32[$3>>2] = $varargs; + (_vsnprintf($9,$8,$2,$3)|0); + $$0 = $9; + } else { + $$0 = $4; + } + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $10 = $1; + $11 = ((($5)) + 16|0); + HEAP32[$11>>2] = $10; + $12 = ((($5)) + 24|0); + HEAP32[$12>>2] = $$0; + $13 = ((($5)) + 80|0); + HEAP32[$13>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $14 = ($$0|0)==($4|0); + if ($14) { + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); + } + _free($$0); + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); +} +function ___pthread_tsd_run_dtors() { + var $$02427 = 0, $$026 = 0, $$125 = 0, $$2 = 0, $0 = 0, $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; + var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 60|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 116|0); + $$02427 = 0; + while(1) { + $$026 = 0;$$125 = 0; + while(1) { + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + ($$026<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + $$2 = $$125; + } else { + $9 = (33304 + ($$026<<2)|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + $$2 = $$125; } 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; + HEAP32[$6>>2] = 0; + $12 = (Atomics_load(HEAP32,$9>>2)|0); + FUNCTION_TABLE_vi[$12 & 31]($7); + $$2 = 1; } + } + $13 = (($$026) + 1)|0; + $exitcond = ($13|0)==(128); + if ($exitcond) { + break; } else { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; + $$026 = $13;$$125 = $$2; } } - } 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; + $14 = (($$02427) + 1)|0; + $15 = ($$2|0)!=(0); + $16 = ($14|0)<(4); + $17 = $16 & $15; + if ($17) { + $$02427 = $14; + } else { + break; + } + } + return; +} +function _emscripten_wait_for_call_v($0,$1) { + $0 = $0|0; + $1 = +$1; + var $$ = 0, $$01921 = 0.0, $$020$lcssa = 0, $$1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = (Atomics_load(HEAP32, $2>>2)|0); + $4 = ($3|0)==(0); + if (!($4)) { + $$1 = $3; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); + } + $5 = (+_emscripten_get_now()); + $6 = $5 + $1; + _emscripten_set_current_thread_status(5); + $7 = $5 < $6; + if ($7) { + $$01921 = $5; + while(1) { + $8 = $6 - $$01921; + (_emscripten_futex_wait(($2|0),0,(+$8))|0); + $9 = (Atomics_load(HEAP32, $2>>2)|0); + $10 = (+_emscripten_get_now()); + $11 = ($9|0)==(0); + $12 = $10 < $6; + $or$cond = $11 & $12; + if ($or$cond) { + $$01921 = $10; } 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; + $$020$lcssa = $9; + break; } } + } else { + $$020$lcssa = 0; + } + _emscripten_set_current_thread_status(1); + $$1 = $$020$lcssa; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); +} +function __do_call($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, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $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, $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, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + do { + switch ($1|0) { + case 12: { + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 24|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_utime(($3|0),($5|0))|0); + $7 = ((($0)) + 80|0); + HEAP32[$7>>2] = $6; + break; + } + case 13: { + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($0)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_utimes(($9|0),($11|0))|0); + $13 = ((($0)) + 80|0); + HEAP32[$13>>2] = $12; + break; + } + case 37: { + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = (_chroot(($15|0))|0); + $17 = ((($0)) + 80|0); + HEAP32[$17>>2] = $16; + break; + } + case 46: { + $18 = ((($0)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = (_fpathconf(($19|0),($21|0))|0); + $23 = ((($0)) + 80|0); + HEAP32[$23>>2] = $22; + break; + } + case 68: { + $24 = ((($0)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 24|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = (_confstr(($25|0),($27|0),($29|0))|0); + $31 = ((($0)) + 80|0); + HEAP32[$31>>2] = $30; + break; + } + case 72: { + $32 = ((($0)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sysconf(($33|0))|0); + $35 = ((($0)) + 80|0); + HEAP32[$35>>2] = $34; + break; + } + case 110: { + $36 = ((($0)) + 16|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_atexit(($37|0))|0); + $39 = ((($0)) + 80|0); + HEAP32[$39>>2] = $38; + break; + } + case 111: { + $40 = ((($0)) + 16|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_getenv(($41|0))|0); + $43 = ((($0)) + 80|0); + HEAP32[$43>>2] = $42; + break; + } + case 112: { + $44 = (_clearenv()|0); + $45 = ((($0)) + 80|0); + HEAP32[$45>>2] = $44; + break; + } + case 113: { + $46 = ((($0)) + 16|0); + $47 = HEAP32[$46>>2]|0; + $48 = ((($0)) + 24|0); + $49 = HEAP32[$48>>2]|0; + $50 = ((($0)) + 32|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_setenv(($47|0),($49|0),($51|0))|0); + $53 = ((($0)) + 80|0); + HEAP32[$53>>2] = $52; + break; + } + case 114: { + $54 = ((($0)) + 16|0); + $55 = HEAP32[$54>>2]|0; + $56 = (_unsetenv(($55|0))|0); + $57 = ((($0)) + 80|0); + HEAP32[$57>>2] = $56; + break; + } + case 115: { + $58 = ((($0)) + 16|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_putenv(($59|0))|0); + $61 = ((($0)) + 80|0); + HEAP32[$61>>2] = $60; + break; + } + case 119: { + _tzset(); + break; + } + case 137: { + $62 = ((($0)) + 16|0); + $63 = HEAP32[$62>>2]|0; + $64 = ((($0)) + 24|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($0)) + 32|0); + $67 = HEAP32[$66>>2]|0; + $68 = ((($0)) + 40|0); + $69 = HEAP32[$68>>2]|0; + $70 = (_pthread_create(($63|0),($65|0),($67|0),($69|0))|0); + $71 = ((($0)) + 80|0); + HEAP32[$71>>2] = $70; + break; + } + case 138: { + $72 = ((($0)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ((($0)) + 24|0); + $75 = HEAP32[$74>>2]|0; + $76 = (_emscripten_syscall(($73|0),($75|0))|0); + $77 = ((($0)) + 80|0); + HEAP32[$77>>2] = $76; + break; + } + case 1024: { + $78 = ((($0)) + 4|0); + $79 = HEAP32[$78>>2]|0; + FUNCTION_TABLE_v[$79 & 7](); + break; + } + case 1025: { + $80 = ((($0)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = ((($0)) + 16|0); + $83 = HEAP32[$82>>2]|0; + FUNCTION_TABLE_vi[$81 & 31]($83); + break; + } + case 1026: { + $84 = ((($0)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = ((($0)) + 16|0); + $87 = HEAP32[$86>>2]|0; + $88 = ((($0)) + 24|0); + $89 = HEAP32[$88>>2]|0; + FUNCTION_TABLE_vii[$85 & 63]($87,$89); + break; + } + case 1027: { + $90 = ((($0)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = ((($0)) + 16|0); + $93 = HEAP32[$92>>2]|0; + $94 = ((($0)) + 24|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($0)) + 32|0); + $97 = HEAP32[$96>>2]|0; + FUNCTION_TABLE_viii[$91 & 31]($93,$95,$97); + break; + } + case 2048: { + $98 = ((($0)) + 4|0); + $99 = HEAP32[$98>>2]|0; + $100 = (FUNCTION_TABLE_i[$99 & 3]()|0); + $101 = ((($0)) + 80|0); + HEAP32[$101>>2] = $100; + break; + } + case 2049: { + $102 = ((($0)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ((($0)) + 16|0); + $105 = HEAP32[$104>>2]|0; + $106 = (FUNCTION_TABLE_ii[$103 & 15]($105)|0); + $107 = ((($0)) + 80|0); + HEAP32[$107>>2] = $106; + break; + } + case 2050: { + $108 = ((($0)) + 4|0); + $109 = HEAP32[$108>>2]|0; + $110 = ((($0)) + 16|0); + $111 = HEAP32[$110>>2]|0; + $112 = ((($0)) + 24|0); + $113 = HEAP32[$112>>2]|0; + $114 = (FUNCTION_TABLE_iii[$109 & 3]($111,$113)|0); + $115 = ((($0)) + 80|0); + HEAP32[$115>>2] = $114; + break; + } + case 2051: { + $116 = ((($0)) + 4|0); + $117 = HEAP32[$116>>2]|0; + $118 = ((($0)) + 16|0); + $119 = HEAP32[$118>>2]|0; + $120 = ((($0)) + 24|0); + $121 = HEAP32[$120>>2]|0; + $122 = ((($0)) + 32|0); + $123 = HEAP32[$122>>2]|0; + $124 = (FUNCTION_TABLE_iiii[$117 & 15]($119,$121,$123)|0); + $125 = ((($0)) + 80|0); + HEAP32[$125>>2] = $124; + break; + } + default: { + ___assert_fail((13810|0),(13702|0),211,(13861|0)); + // unreachable; + } + } } while(0); - STACKTOP = sp;return ($$3|0); + $126 = ((($0)) + 88|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)==(0); + if ($128) { + $129 = ((($0)) + 8|0); + HEAP32[$129>>2] = 1; + (_emscripten_futex_wake(($129|0),2147483647)|0); + return; + } else { + _free($0); + return; + } } -function _strspn($0,$1) { +function ___pthread_mutex_unlock($0) { $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; + var $$0 = 0, $$045 = 0, $$pre = 0, $$pre$phiZ2D = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 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; - } + $1 = ((($0)) + 8|0); + $2 = (Atomics_load(HEAP32,$1>>2)|0); + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 15; + $5 = $3 & 128; + $6 = $5 ^ 128; + $7 = ($4|0)==(0); + if ($7) { + $$pre = ((($0)) + 4|0); + $$045 = 0;$$pre$phiZ2D = $$pre; + } else { + $8 = (_pthread_self()|0); + $9 = ((($0)) + 4|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = $10 & 2147483647; + $12 = ((($8)) + 52|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)==($13|0); + if (!($14)) { + $$0 = 1; + return ($$0|0); + } + $15 = $3 & 3; + $16 = ($15|0)==(1); + if ($16) { + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + $20 = (($18) + -1)|0; + HEAP32[$17>>2] = $20; + $$0 = 0; + return ($$0|0); } - $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); + $21 = ($6|0)==(0); + $22 = ((($0)) + 16|0); + if ($21) { + $23 = ((($8)) + 176|0); + Atomics_store(HEAP32,$23>>2,$22)|0; + ___vm_lock(); + } + $24 = ((($0)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$22>>2]|0; + Atomics_store(HEAP32,$25>>2,$26)|0; + $27 = ((($8)) + 168|0); + $28 = ($26|0)==($27|0); + if ($28) { + $$045 = $8;$$pre$phiZ2D = $9; + } else { + $29 = ((($26)) + -4|0); + Atomics_store(HEAP32,$29>>2,$25)|0; + $$045 = $8;$$pre$phiZ2D = $9; + } + } + $30 = $3 & 8; + $31 = ($30|0)!=(0); + $32 = $31 ? 2147483647 : 0; + while(1) { + $33 = (Atomics_load(HEAP32, $$pre$phiZ2D>>2)|0); + $34 = (Atomics_compareExchange(HEAP32, $$pre$phiZ2D>>2, $33, $32)|0); + $35 = ($34|0)==($33|0); + if ($35) { + break; + } + } + $36 = ($6|0)!=(0); + $or$cond = $7 | $36; + if (!($or$cond)) { + $37 = ((($$045)) + 176|0); + Atomics_store(HEAP32,$37>>2,0)|0; + ___vm_unlock(); + } + $38 = ($2|0)!=(0); + $39 = ($33|0)<(0); + $or$cond3 = $38 | $39; + if (!($or$cond3)) { + $$0 = 0; + return ($$0|0); + } + (_emscripten_futex_wake(($$pre$phiZ2D|0),1)|0); + $$0 = 0; + return ($$0|0); } -function _srand($0) { - $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; +function ___vm_lock() { + var $0 = 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; + $0 = (Atomics_add(HEAP32, 8592, 1)|0); return; } -function _vprintf($0,$1) { +function ___vm_unlock() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8592, -1)|0); + $1 = ($0|0)==(1); + if (!($1)) { + return; + } + $2 = (Atomics_load(HEAP32,(34372)>>2)|0); + $3 = ($2|0)==(0); + if ($3) { + return; + } + (_emscripten_futex_wake((34368|0),2147483647)|0); + return; +} +function ___pthread_mutex_lock($0) { $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[806]|0; - $3 = (_vfprintf($2,$0,$1)|0); - return ($3|0); + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = ($5|0)==(0); + if ($6) { + $$0 = 0; + return ($$0|0); + } + } + $7 = (___pthread_mutex_timedlock($0,0)|0); + $$0 = $7; + return ($$0|0); } -function _strcspn($0,$1) { +function ___pthread_mutex_timedlock($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; + var $$0 = 0, $$2 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond40 = 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 { + $2 = HEAP32[$0>>2]|0; + $3 = $2 & 15; + $4 = ($3|0)==(0); + do { if ($4) { - label = 3; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); + $5 = ((($0)) + 4|0); + $6 = (Atomics_compareExchange(HEAP32, $5>>2, 0, 16)|0); + $7 = ($6|0)==(0); if ($7) { - label = 3; + $$2 = 0; + return ($$2|0); } 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) { + $$pre = HEAP32[$0>>2]|0; + $9 = $$pre; + break; + } + } else { + $9 = $2; + } + } while(0); + $8 = $9 & 128; + $10 = $8 ^ 128; + $11 = (___pthread_mutex_trylock($0)|0); + $12 = ($11|0)==(16); + if (!($12)) { + $$2 = $11; + return ($$2|0); + } + $13 = ((($0)) + 4|0); + $14 = ((($0)) + 8|0); + $$0 = 100; + while(1) { + $15 = (($$0) + -1)|0; + $16 = ($$0|0)==(0); + if ($16) { + break; + } + $17 = (Atomics_load(HEAP32,$13>>2)|0); + $18 = ($17|0)==(0); + if ($18) { + break; + } + $19 = (Atomics_load(HEAP32,$14>>2)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = $15; + } else { + break; + } + } + $21 = (___pthread_mutex_trylock($0)|0); + $22 = ($21|0)==(16); + if (!($22)) { + $$2 = $21; + return ($$2|0); + } + L18: while(1) { + $23 = (Atomics_load(HEAP32,$13>>2)|0); + $24 = ($23|0)==(0); + if (!($24)) { + $27 = $23 & 1073741824; + $28 = ($27|0)==(0); + $29 = HEAP32[$0>>2]|0; + $30 = $29 & 4; + $31 = ($30|0)==(0); + $or$cond40 = $28 | $31; + if ($or$cond40) { + $32 = $29 & 3; + $33 = ($32|0)==(2); + if ($33) { + $34 = $23 & 2147483647; + $35 = (_pthread_self()|0); + $36 = ((($35)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($34|0)==($37|0); + if ($38) { + $$2 = 35; + label = 17; 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; - } - } + $39 = (Atomics_add(HEAP32, $14>>2, 1)|0); + $40 = $23 | -2147483648; + $41 = (Atomics_compareExchange(HEAP32, $13>>2, $23, $40)|0); + $42 = (___timedwait($13,$40,0,$1,$10)|0); + $43 = (Atomics_sub(HEAP32, $14>>2, 1)|0); + switch ($42|0) { + case 0: case 4: { + break; + } + default: { + $$2 = $42; + label = 17; + break L18; + } } } } - } while(0); - if ((label|0) == 3) { - $8 = $3 << 24 >> 24; - $9 = (___strchrnul($0,$8)|0); - $$019$sink = $9; + $25 = (___pthread_mutex_trylock($0)|0); + $26 = ($25|0)==(16); + if (!($26)) { + $$2 = $25; + label = 17; + break; + } } - $35 = $$019$sink; - $36 = $0; - $37 = (($35) - ($36))|0; - STACKTOP = sp;return ($37|0); + if ((label|0) == 17) { + return ($$2|0); + } + return (0)|0; } -function _strcat($0,$1) { +function ___timedwait($0,$1,$2,$3,$4) { $0 = $0|0; $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $5 = 0, $6 = 0, $7 = 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) { + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + (___pthread_setcancelstate(1,($5|0))|0); + _emscripten_conditional_set_current_thread_status(1,4); + $6 = (___timedwait_cp($0,$1,$2,$3,$4)|0); + _emscripten_conditional_set_current_thread_status(4,1); + $7 = HEAP32[$5>>2]|0; + (___pthread_setcancelstate(($7|0),(0|0))|0); + STACKTOP = sp;return ($6|0); +} +function ___timedwait_cp($0,$1,$2,$3,$4) { $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; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$$0$us = 0.0, $$$045 = 0.0, $$$046$us = 0.0, $$0$us = 0.0, $$0$us53 = 0.0, $$138 = 0, $$138$ph = 0, $$138$ph70 = 0, $$138$ph72 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 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; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + $6 = ($3|0)!=(0|0); + if ($6) { + $7 = ((($3)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8>>>0)>(999999999); + if ($9) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $10 = (___clock_gettime(($2|0),($5|0))|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = (($12) - ($13))|0; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ((($5)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($15) - ($17))|0; + HEAP32[$16>>2] = $18; + $19 = ($18|0)<(0); + if ($19) { + $20 = (($14) + -1)|0; + HEAP32[$5>>2] = $20; + $21 = (($18) + 1000000000)|0; + HEAP32[$16>>2] = $21; + $23 = $20; } else { - $$010 = $3; - label = 3; + $23 = $14; + } + $22 = ($23|0)<(0); + if ($22) { + $$138 = 110; + STACKTOP = sp;return ($$138|0); } - } 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; + $24 = (_emscripten_is_main_runtime_thread()|0); + $25 = ($24|0)!=(0); + $$$045 = $25 ? 1.0 : 100.0; + if ($25) { + L15: while(1) { + $26 = (_pthread_self()|0); + $27 = (__pthread_isduecanceled($26)|0); + $28 = ($27|0)==(0); + if (!($28)) { + $$138$ph = 125; 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; + _emscripten_main_thread_process_queued_calls(); + if ($6) { + $29 = (+__pthread_msecs_until($3)); + $30 = !($29 <= 0.0); + $31 = $29 > 100.0; + $$0$us = $31 ? 100.0 : $29; + $32 = $$0$us > 1.0; + $$$0$us = $32 ? 1.0 : $$0$us; + if ($30) { + $$$046$us = $$$0$us; + } else { + $$138$ph = 110; + break; + } } else { - $13 = ((($10)) + 1|0); - HEAP32[8285] = $13; - HEAP8[$10>>0] = 0; - $$0 = $6; + $$$046$us = $$$045; + } + $33 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$046$us))|0); + $34 = (0 - ($33))|0; + switch ($34|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph = $34; + break L15; break; } + default: { + $$138 = 0; + label = 21; + break L15; + } + } } - } while(0); - return ($$0|0); + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph; + STACKTOP = sp;return ($$138|0); + } + if (!($6)) { + L27: while(1) { + $43 = (_pthread_self()|0); + $44 = (__pthread_isduecanceled($43)|0); + $45 = ($44|0)==(0); + if (!($45)) { + $$138$ph72 = 125; + break; + } + $46 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$045))|0); + $47 = (0 - ($46))|0; + switch ($47|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph72 = $47; + break L27; + break; + } + default: { + $$138 = 0; + label = 21; + break L27; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph72; + STACKTOP = sp;return ($$138|0); + } + L34: while(1) { + $35 = (_pthread_self()|0); + $36 = (__pthread_isduecanceled($35)|0); + $37 = ($36|0)==(0); + if (!($37)) { + $$138$ph70 = 125; + break; + } + $38 = (+__pthread_msecs_until($3)); + $39 = !($38 <= 0.0); + if (!($39)) { + $$138$ph70 = 110; + break; + } + $40 = $38 > 100.0; + $$0$us53 = $40 ? 100.0 : $38; + $41 = (_emscripten_futex_wait(($0|0),($1|0),(+$$0$us53))|0); + $42 = (0 - ($41))|0; + switch ($42|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph70 = $42; + break L34; + break; + } + default: { + $$138 = 0; + label = 21; + break L34; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph70; + STACKTOP = sp;return ($$138|0); +} +function __pthread_isduecanceled($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(2); + $3 = $2&1; + return ($3|0); +} +function __pthread_msecs_until($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + (_gettimeofday(($1|0),(0|0))|0); + $2 = HEAP32[$1>>2]|0; + $3 = (+($2|0)); + $4 = $3 * 1000.0; + $5 = ((($1)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (+($6|0)); + $8 = $7 * 0.001; + $9 = $4 + $8; + $10 = HEAP32[$0>>2]|0; + $11 = (+($10|0)); + $12 = $11 * 1000.0; + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (+($14|0)); + $16 = $15 * 9.9999999999999995E-7; + $17 = $12 + $16; + $18 = $17 - $9; + STACKTOP = sp;return (+$18); +} +function ___pthread_mutex_trylock($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = $5 & 16; + $$0 = $6; + return ($$0|0); + } else { + $7 = (___pthread_mutex_trylock_owner($0)|0); + $$0 = $7; + return ($$0|0); + } + return (0)|0; +} +function ___pthread_mutex_trylock_owner($0) { + $0 = $0|0; + var $$ = 0, $$1 = 0, $$154 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond57 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = (_pthread_self()|0); + $3 = ((($2)) + 52|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 4|0); + $6 = (Atomics_load(HEAP32,$5>>2)|0); + $7 = $6 & 2147483647; + $8 = ($7|0)==($4|0); + $9 = $1 & 3; + $10 = ($9|0)==(1); + $or$cond = $10 & $8; + if ($or$cond) { + $11 = ((($0)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)>(2147483646); + if ($13) { + $$1 = 11; + return ($$1|0); + } + $14 = (($12) + 1)|0; + HEAP32[$11>>2] = $14; + $$1 = 0; + return ($$1|0); + } + $15 = ($7|0)==(2147483647); + if ($15) { + $$1 = 131; + return ($$1|0); + } + $16 = HEAP32[$0>>2]|0; + $17 = $16 & 128; + $18 = ($17|0)==(0); + if ($18) { + $$154 = $4; + } else { + $19 = ((($2)) + 172|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + HEAP32[$19>>2] = -12; + } + $22 = ((($0)) + 8|0); + $23 = (Atomics_load(HEAP32,$22>>2)|0); + $24 = ($23|0)==(0); + $25 = $4 | -2147483648; + $$ = $24 ? $4 : $25; + $26 = ((($0)) + 16|0); + $27 = ((($2)) + 176|0); + Atomics_store(HEAP32,$27>>2,$26)|0; + $$154 = $$; + } + $28 = ($7|0)!=(0); + if ($28) { + $29 = $6 & 1073741824; + $30 = ($29|0)==(0); + $31 = $1 & 4; + $32 = ($31|0)==(0); + $or$cond57 = $32 | $30; + if (!($or$cond57)) { + label = 11; + } + } else { + label = 11; + } + if ((label|0) == 11) { + $33 = (Atomics_compareExchange(HEAP32, $5>>2, $6, $$154)|0); + $34 = ($33|0)==($6|0); + if ($34) { + $36 = ((($2)) + 168|0); + $37 = (Atomics_load(HEAP32,$36>>2)|0); + $38 = ((($0)) + 16|0); + HEAP32[$38>>2] = $37; + $39 = ((($0)) + 12|0); + HEAP32[$39>>2] = $36; + $40 = ($37|0)==($36|0); + if (!($40)) { + $41 = ((($37)) + -4|0); + Atomics_store(HEAP32,$41>>2,$38)|0; + } + Atomics_store(HEAP32,$36>>2,$38)|0; + $42 = ((($2)) + 176|0); + Atomics_store(HEAP32,$42>>2,0)|0; + if (!($28)) { + $$1 = 0; + return ($$1|0); + } + $43 = ((($0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = HEAP32[$0>>2]|0; + $45 = $44 | 8; + HEAP32[$0>>2] = $45; + $$1 = 130; + return ($$1|0); + } + } + $35 = ((($2)) + 176|0); + Atomics_store(HEAP32,$35>>2,0)|0; + $$1 = 16; + return ($$1|0); +} +function _pthread_mutexattr_destroy($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + return 0; +} +function _pthread_mutexattr_init($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$0>>2] = 0; + return 0; +} +function _pthread_mutex_init($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $$sroa$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$sroa$0 = sp; + ;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[$$sroa$0+20>>2]=0|0;HEAP32[$$sroa$0+24>>2]=0|0; + ;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;HEAP32[$0+20>>2]=HEAP32[$$sroa$0+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$$sroa$0+24>>2]|0; + $2 = ($1|0)==(0|0); + if ($2) { + STACKTOP = sp;return 0; + } + $3 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $3; + STACKTOP = sp;return 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; + var $$$0192$i = 0, $$$0193$i = 0, $$$4230$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i17$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0198 = 0, $$0200 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024363$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, $$1 = 0, $$1196$i = 0; + var $$1198$i = 0, $$124462$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, $$2 = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i202 = 0, $$3229$i = 0, $$3235$i = 0, $$3350$i = 0; + var $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0, $$4230$i = 0, $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$7$i = 0, $$7239$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i18$i = 0, $$pre$i211 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i19$iZ2D = 0; + var $$pre$phi$i212Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i205 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0; + var $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $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; + var $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $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; + var $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $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, $1059 = 0, $106 = 0; + var $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0; + var $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 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, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0; + var $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0; + var $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0; + var $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, $618 = 0, $619 = 0, $62 = 0, $620 = 0; + var $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, $636 = 0, $637 = 0, $638 = 0, $639 = 0; + var $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, $654 = 0, $655 = 0, $656 = 0, $657 = 0; + var $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, $672 = 0, $673 = 0, $674 = 0, $675 = 0; + var $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, $690 = 0, $691 = 0, $692 = 0, $693 = 0; + var $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, $708 = 0, $709 = 0, $71 = 0, $710 = 0; + var $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, $726 = 0, $727 = 0, $728 = 0, $729 = 0; + var $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, $744 = 0, $745 = 0, $746 = 0, $747 = 0; + var $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, $762 = 0, $763 = 0, $764 = 0, $765 = 0; + var $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, $780 = 0, $781 = 0, $782 = 0, $783 = 0; + var $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, $799 = 0, $8 = 0, $80 = 0, $800 = 0; + var $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, $816 = 0, $817 = 0, $818 = 0, $819 = 0; + var $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, $834 = 0, $835 = 0, $836 = 0, $837 = 0; + var $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, $852 = 0, $853 = 0, $854 = 0, $855 = 0; + var $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, $870 = 0, $871 = 0, $872 = 0, $873 = 0; + var $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, $889 = 0, $89 = 0, $890 = 0, $891 = 0; + var $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, $906 = 0, $907 = 0, $908 = 0, $909 = 0; + var $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, $924 = 0, $925 = 0, $926 = 0, $927 = 0; + var $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, $942 = 0, $943 = 0, $944 = 0, $945 = 0; + var $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, $960 = 0, $961 = 0, $962 = 0, $963 = 0; + var $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, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0; + var $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, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0; + var $cond$i$i = 0, $cond$i209 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i21$i = 0, $not$$i210 = 0, $not$1$i = 0, $not$1$i204 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0, $or$cond$i = 0, $or$cond$i213 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond12$i = 0, $or$cond2$i = 0; + var $or$cond2$i214 = 0, $or$cond43$i = 0, $or$cond5$i = 0, $or$cond7$i = 0, $or$cond9$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); + $1 = sp + 4|0; + $2 = sp; + $3 = HEAP32[8850]|0; + $4 = ($3|0)==(0); + if ($4) { + (___pthread_mutex_lock(35424)|0); + $5 = HEAP32[8850]|0; + $6 = ($5|0)==(0); + if ($6) { + HEAP32[(35408)>>2] = 4096; + HEAP32[(35404)>>2] = 4096; + HEAP32[(35412)>>2] = -1; + HEAP32[(35416)>>2] = -1; + HEAP32[(35420)>>2] = 2; + HEAP32[(35896)>>2] = 2; + $7 = (_pthread_mutexattr_init($1)|0); + $8 = ($7|0)==(0); + if ($8) { + $9 = (_pthread_mutex_init((35900),$1)|0); + $10 = ($9|0)==(0); + if ($10) { + } + } + $11 = $2; + $12 = $11 & -16; + $13 = $12 ^ 1431655768; + HEAP32[$2>>2] = $13; + Atomics_store(HEAP32,8850,$13)|0; + } + (___pthread_mutex_unlock(35424)|0); + } + $14 = HEAP32[(35896)>>2]|0; + $15 = $14 & 2; + $16 = ($15|0)==(0); + if (!($16)) { + $17 = (___pthread_mutex_lock((35900))|0); + $18 = ($17|0)==(0); + if (!($18)) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + } + $19 = ($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); + if ($19) { + $20 = ($0>>>0)<(11); + $21 = (($0) + 11)|0; + $22 = $21 & -8; + $23 = $20 ? 16 : $22; + $24 = $23 >>> 3; + $25 = HEAP32[8863]|0; + $26 = $25 >>> $24; + $27 = $26 & 3; + $28 = ($27|0)==(0); + if (!($28)) { + $29 = $26 & 1; + $30 = $29 ^ 1; + $31 = (($30) + ($24))|0; + $32 = $31 << 1; + $33 = (35492 + ($32<<2)|0); + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($33|0)==($37|0); do { - if ($21) { - $22 = 1 << $14; - $23 = $22 ^ -1; - $24 = $8 & $23; - HEAP32[8286] = $24; + if ($38) { + $39 = 1 << $31; + $40 = $39 ^ -1; + $41 = $25 & $40; + HEAP32[8863] = $41; } else { - $25 = HEAP32[(33160)>>2]|0; - $26 = ($20>>>0)<($25>>>0); - if ($26) { + $42 = HEAP32[(35468)>>2]|0; + $43 = ($37>>>0)<($42>>>0); + if ($43) { _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; + $44 = ((($37)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==($35|0); + if ($46) { + HEAP32[$44>>2] = $33; + HEAP32[$34>>2] = $37; break; } else { _abort(); @@ -23681,79 +29974,79 @@ function _malloc($0) { } } } 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); + $47 = $31 << 3; + $48 = $47 | 3; + $49 = ((($35)) + 4|0); + HEAP32[$49>>2] = $48; + $50 = (($35) + ($47)|0); + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = $52 | 1; + HEAP32[$51>>2] = $53; + $$2 = $36; + break; } - $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); + $54 = HEAP32[(35460)>>2]|0; + $55 = ($23>>>0)>($54>>>0); + if ($55) { + $56 = ($26|0)==(0); + if (!($56)) { + $57 = $26 << $24; + $58 = 2 << $24; + $59 = (0 - ($58))|0; + $60 = $58 | $59; + $61 = $57 & $60; + $62 = (0 - ($61))|0; + $63 = $61 & $62; + $64 = (($63) + -1)|0; + $65 = $64 >>> 12; + $66 = $65 & 16; + $67 = $64 >>> $66; + $68 = $67 >>> 5; + $69 = $68 & 8; + $70 = $69 | $66; + $71 = $67 >>> $69; + $72 = $71 >>> 2; + $73 = $72 & 4; + $74 = $70 | $73; + $75 = $71 >>> $73; + $76 = $75 >>> 1; + $77 = $76 & 2; + $78 = $74 | $77; + $79 = $75 >>> $77; + $80 = $79 >>> 1; + $81 = $80 & 1; + $82 = $78 | $81; + $83 = $79 >>> $81; + $84 = (($82) + ($83))|0; + $85 = $84 << 1; + $86 = (35492 + ($85<<2)|0); + $87 = ((($86)) + 8|0); + $88 = HEAP32[$87>>2]|0; + $89 = ((($88)) + 8|0); + $90 = HEAP32[$89>>2]|0; + $91 = ($86|0)==($90|0); do { - if ($74) { - $75 = 1 << $67; - $76 = $75 ^ -1; - $77 = $8 & $76; - HEAP32[8286] = $77; - $98 = $77; + if ($91) { + $92 = 1 << $84; + $93 = $92 ^ -1; + $94 = $25 & $93; + HEAP32[8863] = $94; + $115 = $94; } else { - $78 = HEAP32[(33160)>>2]|0; - $79 = ($73>>>0)<($78>>>0); - if ($79) { + $95 = HEAP32[(35468)>>2]|0; + $96 = ($90>>>0)<($95>>>0); + if ($96) { _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; + $97 = ((($90)) + 12|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==($88|0); + if ($99) { + HEAP32[$97>>2] = $86; + HEAP32[$87>>2] = $90; + $115 = $25; break; } else { _abort(); @@ -23761,178 +30054,179 @@ function _malloc($0) { } } } 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; + $100 = $84 << 3; + $101 = (($100) - ($23))|0; + $102 = $23 | 3; + $103 = ((($88)) + 4|0); + HEAP32[$103>>2] = $102; + $104 = (($88) + ($23)|0); + $105 = $101 | 1; + $106 = ((($104)) + 4|0); + HEAP32[$106>>2] = $105; + $107 = (($104) + ($101)|0); + HEAP32[$107>>2] = $101; + $108 = ($54|0)==(0); + if (!($108)) { + $109 = HEAP32[(35472)>>2]|0; + $110 = $54 >>> 3; + $111 = $110 << 1; + $112 = (35492 + ($111<<2)|0); + $113 = 1 << $110; + $114 = $115 & $113; + $116 = ($114|0)==(0); + if ($116) { + $117 = $115 | $113; + HEAP32[8863] = $117; + $$pre = ((($112)) + 8|0); + $$0200 = $112;$$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) { + $118 = ((($112)) + 8|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[(35468)>>2]|0; + $121 = ($119>>>0)<($120>>>0); + if ($121) { _abort(); // unreachable; } else { - $$0199 = $102;$$pre$phiZ2D = $101; + $$0200 = $119;$$pre$phiZ2D = $118; } } - 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[$$pre$phiZ2D>>2] = $109; + $122 = ((($$0200)) + 12|0); + HEAP32[$122>>2] = $109; + $123 = ((($109)) + 8|0); + HEAP32[$123>>2] = $$0200; + $124 = ((($109)) + 12|0); + HEAP32[$124>>2] = $112; } - 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; + HEAP32[(35460)>>2] = $101; + HEAP32[(35472)>>2] = $104; + $$2 = $89; + break; + } + $125 = HEAP32[(35456)>>2]|0; + $126 = ($125|0)==(0); + if ($126) { + $$0198 = $23; + label = 153; } 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); + $127 = (0 - ($125))|0; + $128 = $125 & $127; + $129 = (($128) + -1)|0; + $130 = $129 >>> 12; + $131 = $130 & 16; + $132 = $129 >>> $131; + $133 = $132 >>> 5; + $134 = $133 & 8; + $135 = $134 | $131; + $136 = $132 >>> $134; + $137 = $136 >>> 2; + $138 = $137 & 4; + $139 = $135 | $138; + $140 = $136 >>> $138; + $141 = $140 >>> 1; + $142 = $141 & 2; + $143 = $139 | $142; + $144 = $140 >>> $142; + $145 = $144 >>> 1; + $146 = $145 & 1; + $147 = $143 | $146; + $148 = $144 >>> $146; + $149 = (($147) + ($148))|0; + $150 = (35756 + ($149<<2)|0); + $151 = HEAP32[$150>>2]|0; + $152 = ((($151)) + 4|0); + $153 = HEAP32[$152>>2]|0; + $154 = $153 & -8; + $155 = (($154) - ($23))|0; + $156 = ((($151)) + 16|0); + $157 = HEAP32[$156>>2]|0; + $not$5$i = ($157|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; + $158 = (((($151)) + 16|0) + ($$sink16$i<<2)|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==(0|0); + if ($160) { + $$0192$lcssa$i = $151;$$0193$lcssa$i = $155; } else { - $$01928$i = $134;$$01937$i = $138;$145 = $142; + $$01928$i = $151;$$01937$i = $155;$162 = $159; 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); + $161 = ((($162)) + 4|0); + $163 = HEAP32[$161>>2]|0; + $164 = $163 & -8; + $165 = (($164) - ($23))|0; + $166 = ($165>>>0)<($$01937$i>>>0); + $$$0193$i = $166 ? $165 : $$01937$i; + $$$0192$i = $166 ? $162 : $$01928$i; + $167 = ((($162)) + 16|0); + $168 = HEAP32[$167>>2]|0; + $not$$i = ($168|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) { + $169 = (((($162)) + 16|0) + ($$sink1$i<<2)|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; break; } else { - $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$162 = $170; } } } - $155 = HEAP32[(33160)>>2]|0; - $156 = ($$0192$lcssa$i>>>0)<($155>>>0); - if ($156) { + $172 = HEAP32[(35468)>>2]|0; + $173 = ($$0192$lcssa$i>>>0)<($172>>>0); + if ($173) { _abort(); // unreachable; } - $157 = (($$0192$lcssa$i) + ($6)|0); - $158 = ($$0192$lcssa$i>>>0)<($157>>>0); - if (!($158)) { + $174 = (($$0192$lcssa$i) + ($23)|0); + $175 = ($$0192$lcssa$i>>>0)<($174>>>0); + if (!($175)) { _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); + $176 = ((($$0192$lcssa$i)) + 24|0); + $177 = HEAP32[$176>>2]|0; + $178 = ((($$0192$lcssa$i)) + 12|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|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) { + if ($180) { + $190 = ((($$0192$lcssa$i)) + 20|0); + $191 = HEAP32[$190>>2]|0; + $192 = ($191|0)==(0|0); + if ($192) { + $193 = ((($$0192$lcssa$i)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $195 = ($194|0)==(0|0); + if ($195) { $$3$i = 0; break; } else { - $$1196$i = $177;$$1198$i = $176; + $$1196$i = $194;$$1198$i = $193; } } else { - $$1196$i = $174;$$1198$i = $173; + $$1196$i = $191;$$1198$i = $190; } 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; + $196 = ((($$1196$i)) + 20|0); + $197 = HEAP32[$196>>2]|0; + $198 = ($197|0)==(0|0); + if (!($198)) { + $$1196$i = $197;$$1198$i = $196; continue; } - $182 = ((($$1196$i)) + 16|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)==(0|0); - if ($184) { + $199 = ((($$1196$i)) + 16|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($200|0)==(0|0); + if ($201) { break; } else { - $$1196$i = $183;$$1198$i = $182; + $$1196$i = $200;$$1198$i = $199; } } - $185 = ($$1198$i>>>0)<($155>>>0); - if ($185) { + $202 = ($$1198$i>>>0)<($172>>>0); + if ($202) { _abort(); // unreachable; } else { @@ -23941,27 +30235,27 @@ function _malloc($0) { break; } } else { - $164 = ((($$0192$lcssa$i)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165>>>0)<($155>>>0); - if ($166) { + $181 = ((($$0192$lcssa$i)) + 8|0); + $182 = HEAP32[$181>>2]|0; + $183 = ($182>>>0)<($172>>>0); + if ($183) { _abort(); // unreachable; } - $167 = ((($165)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==($$0192$lcssa$i|0); - if (!($169)) { + $184 = ((($182)) + 12|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($185|0)==($$0192$lcssa$i|0); + if (!($186)) { _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; + $187 = ((($179)) + 8|0); + $188 = HEAP32[$187>>2]|0; + $189 = ($188|0)==($$0192$lcssa$i|0); + if ($189) { + HEAP32[$184>>2] = $179; + HEAP32[$187>>2] = $182; + $$3$i = $179; break; } else { _abort(); @@ -23969,397 +30263,401 @@ function _malloc($0) { } } } 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); + $203 = ($177|0)==(0|0); + L85: do { + if (!($203)) { + $204 = ((($$0192$lcssa$i)) + 28|0); + $205 = HEAP32[$204>>2]|0; + $206 = (35756 + ($205<<2)|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($$0192$lcssa$i|0)==($207|0); do { - if ($191) { - HEAP32[$189>>2] = $$3$i; + if ($208) { + HEAP32[$206>>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; + $209 = 1 << $205; + $210 = $209 ^ -1; + $211 = $125 & $210; + HEAP32[(35456)>>2] = $211; + break L85; } } else { - $195 = HEAP32[(33160)>>2]|0; - $196 = ($160>>>0)<($195>>>0); - if ($196) { + $212 = HEAP32[(35468)>>2]|0; + $213 = ($177>>>0)<($212>>>0); + if ($213) { _abort(); // unreachable; } else { - $197 = ((($160)) + 16|0); - $198 = HEAP32[$197>>2]|0; - $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $214 = ((($177)) + 16|0); + $215 = HEAP32[$214>>2]|0; + $not$1$i = ($215|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; + $216 = (((($177)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$216>>2] = $$3$i; + $217 = ($$3$i|0)==(0|0); + if ($217) { + break L85; } else { break; } } } } while(0); - $201 = HEAP32[(33160)>>2]|0; - $202 = ($$3$i>>>0)<($201>>>0); - if ($202) { + $218 = HEAP32[(35468)>>2]|0; + $219 = ($$3$i>>>0)<($218>>>0); + if ($219) { _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); + $220 = ((($$3$i)) + 24|0); + HEAP32[$220>>2] = $177; + $221 = ((($$0192$lcssa$i)) + 16|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); do { - if (!($206)) { - $207 = ($205>>>0)<($201>>>0); - if ($207) { + if (!($223)) { + $224 = ($222>>>0)<($218>>>0); + if ($224) { _abort(); // unreachable; } else { - $208 = ((($$3$i)) + 16|0); - HEAP32[$208>>2] = $205; - $209 = ((($205)) + 24|0); - HEAP32[$209>>2] = $$3$i; + $225 = ((($$3$i)) + 16|0); + HEAP32[$225>>2] = $222; + $226 = ((($222)) + 24|0); + HEAP32[$226>>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) { + $227 = ((($$0192$lcssa$i)) + 20|0); + $228 = HEAP32[$227>>2]|0; + $229 = ($228|0)==(0|0); + if (!($229)) { + $230 = HEAP32[(35468)>>2]|0; + $231 = ($228>>>0)<($230>>>0); + if ($231) { _abort(); // unreachable; } else { - $215 = ((($$3$i)) + 20|0); - HEAP32[$215>>2] = $211; - $216 = ((($211)) + 24|0); - HEAP32[$216>>2] = $$3$i; + $232 = ((($$3$i)) + 20|0); + HEAP32[$232>>2] = $228; + $233 = ((($228)) + 24|0); + HEAP32[$233>>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; + $234 = ($$0193$lcssa$i>>>0)<(16); + if ($234) { + $235 = (($$0193$lcssa$i) + ($23))|0; + $236 = $235 | 3; + $237 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$237>>2] = $236; + $238 = (($$0192$lcssa$i) + ($235)|0); + $239 = ((($238)) + 4|0); + $240 = HEAP32[$239>>2]|0; + $241 = $240 | 1; + HEAP32[$239>>2] = $241; } 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; + $242 = $23 | 3; + $243 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$243>>2] = $242; + $244 = $$0193$lcssa$i | 1; + $245 = ((($174)) + 4|0); + HEAP32[$245>>2] = $244; + $246 = (($174) + ($$0193$lcssa$i)|0); + HEAP32[$246>>2] = $$0193$lcssa$i; + $247 = ($54|0)==(0); + if (!($247)) { + $248 = HEAP32[(35472)>>2]|0; + $249 = $54 >>> 3; + $250 = $249 << 1; + $251 = (35492 + ($250<<2)|0); + $252 = 1 << $249; + $253 = $25 & $252; + $254 = ($253|0)==(0); + if ($254) { + $255 = $25 | $252; + HEAP32[8863] = $255; + $$pre$i = ((($251)) + 8|0); + $$0189$i = $251;$$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) { + $256 = ((($251)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = HEAP32[(35468)>>2]|0; + $259 = ($257>>>0)<($258>>>0); + if ($259) { _abort(); // unreachable; } else { - $$0189$i = $240;$$pre$phi$iZ2D = $239; + $$0189$i = $257;$$pre$phi$iZ2D = $256; } } - 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[$$pre$phi$iZ2D>>2] = $248; + $260 = ((($$0189$i)) + 12|0); + HEAP32[$260>>2] = $248; + $261 = ((($248)) + 8|0); + HEAP32[$261>>2] = $$0189$i; + $262 = ((($248)) + 12|0); + HEAP32[$262>>2] = $251; } - HEAP32[(33152)>>2] = $$0193$lcssa$i; - HEAP32[(33164)>>2] = $157; + HEAP32[(35460)>>2] = $$0193$lcssa$i; + HEAP32[(35472)>>2] = $174; } - $246 = ((($$0192$lcssa$i)) + 8|0); - $$0 = $246; - STACKTOP = sp;return ($$0|0); + $263 = ((($$0192$lcssa$i)) + 8|0); + $$2 = $263; } } else { - $$0197 = $6; + $$0198 = $23; + label = 153; } } else { - $247 = ($0>>>0)>(4294967231); - if ($247) { - $$0197 = -1; + $264 = ($0>>>0)>(4294967231); + if ($264) { + $$0198 = -1; + label = 153; } else { - $248 = (($0) + 11)|0; - $249 = $248 & -8; - $250 = HEAP32[(33148)>>2]|0; - $251 = ($250|0)==(0); - if ($251) { - $$0197 = $249; + $265 = (($0) + 11)|0; + $266 = $265 & -8; + $267 = HEAP32[(35456)>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$0198 = $266; + label = 153; } else { - $252 = (0 - ($249))|0; - $253 = $248 >>> 8; - $254 = ($253|0)==(0); - if ($254) { + $269 = (0 - ($266))|0; + $270 = $265 >>> 8; + $271 = ($270|0)==(0); + if ($271) { $$0358$i = 0; } else { - $255 = ($249>>>0)>(16777215); - if ($255) { + $272 = ($266>>>0)>(16777215); + if ($272) { $$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; + $273 = (($270) + 1048320)|0; + $274 = $273 >>> 16; + $275 = $274 & 8; + $276 = $270 << $275; + $277 = (($276) + 520192)|0; + $278 = $277 >>> 16; + $279 = $278 & 4; + $280 = $279 | $275; + $281 = $276 << $279; + $282 = (($281) + 245760)|0; + $283 = $282 >>> 16; + $284 = $283 & 2; + $285 = $280 | $284; + $286 = (14 - ($285))|0; + $287 = $281 << $284; + $288 = $287 >>> 15; + $289 = (($286) + ($288))|0; + $290 = $289 << 1; + $291 = (($289) + 7)|0; + $292 = $266 >>> $291; + $293 = $292 & 1; + $294 = $293 | $290; + $$0358$i = $294; } } - $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; + $295 = (35756 + ($$0358$i<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($296|0)==(0|0); + L128: do { + if ($297) { + $$2355$i = 0;$$3$i202 = 0;$$3350$i = $269; + label = 90; } 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; + $298 = ($$0358$i|0)==(31); + $299 = $$0358$i >>> 1; + $300 = (25 - ($299))|0; + $301 = $298 ? 0 : $300; + $302 = $266 << $301; + $$0342$i = 0;$$0347$i = $269;$$0353$i = $296;$$0359$i = $302;$$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) { + $303 = ((($$0353$i)) + 4|0); + $304 = HEAP32[$303>>2]|0; + $305 = $304 & -8; + $306 = (($305) - ($266))|0; + $307 = ($306>>>0)<($$0347$i>>>0); + if ($307) { + $308 = ($306|0)==(0); + if ($308) { $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; - label = 85; - break L117; + label = 94; + break L128; } else { - $$1343$i = $$0353$i;$$1348$i = $289; + $$1343$i = $$0353$i;$$1348$i = $306; } } 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; + $309 = ((($$0353$i)) + 20|0); + $310 = HEAP32[$309>>2]|0; + $311 = $$0359$i >>> 31; + $312 = (((($$0353$i)) + 16|0) + ($311<<2)|0); + $313 = HEAP32[$312>>2]|0; + $314 = ($310|0)==(0|0); + $315 = ($310|0)==($313|0); + $or$cond2$i = $314 | $315; + $$1363$i = $or$cond2$i ? $$0362$i : $310; + $316 = ($313|0)==(0|0); + $not$8$i = $316 ^ 1; + $317 = $not$8$i&1; + $$0359$$i = $$0359$i << $317; + if ($316) { + $$2355$i = $$1363$i;$$3$i202 = $$1343$i;$$3350$i = $$1348$i; + label = 90; break; } else { - $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $313;$$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 ((label|0) == 90) { + $318 = ($$2355$i|0)==(0|0); + $319 = ($$3$i202|0)==(0|0); + $or$cond$i = $318 & $319; 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; + $320 = 2 << $$0358$i; + $321 = (0 - ($320))|0; + $322 = $320 | $321; + $323 = $267 & $322; + $324 = ($323|0)==(0); + if ($324) { + $$0198 = $266; + label = 153; 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; + $325 = (0 - ($323))|0; + $326 = $323 & $325; + $327 = (($326) + -1)|0; + $328 = $327 >>> 12; + $329 = $328 & 16; + $330 = $327 >>> $329; + $331 = $330 >>> 5; + $332 = $331 & 8; + $333 = $332 | $329; + $334 = $330 >>> $332; + $335 = $334 >>> 2; + $336 = $335 & 4; + $337 = $333 | $336; + $338 = $334 >>> $336; + $339 = $338 >>> 1; + $340 = $339 & 2; + $341 = $337 | $340; + $342 = $338 >>> $340; + $343 = $342 >>> 1; + $344 = $343 & 1; + $345 = $341 | $344; + $346 = $342 >>> $344; + $347 = (($345) + ($346))|0; + $348 = (35756 + ($347<<2)|0); + $349 = HEAP32[$348>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $349; } else { - $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + $$4$ph$i = $$3$i202;$$4357$ph$i = $$2355$i; } - $333 = ($$4357$ph$i|0)==(0|0); - if ($333) { + $350 = ($$4357$ph$i|0)==(0|0); + if ($350) { $$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; + label = 94; } } - if ((label|0) == 85) { + if ((label|0) == 94) { 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) { + $351 = ((($$435713$i)) + 4|0); + $352 = HEAP32[$351>>2]|0; + $353 = $352 & -8; + $354 = (($353) - ($266))|0; + $355 = ($354>>>0)<($$435114$i>>>0); + $$$4351$i = $355 ? $354 : $$435114$i; + $$4357$$4$i = $355 ? $$435713$i : $$415$i; + $356 = ((($$435713$i)) + 16|0); + $357 = HEAP32[$356>>2]|0; + $not$1$i204 = ($357|0)==(0|0); + $$sink2$i205 = $not$1$i204&1; + $358 = (((($$435713$i)) + 16|0) + ($$sink2$i205<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0|0); + if ($360) { $$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; + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $359; + label = 94; } } } - $344 = ($$4$lcssa$i|0)==(0|0); - if ($344) { - $$0197 = $249; + $361 = ($$4$lcssa$i|0)==(0|0); + if ($361) { + $$0198 = $266; + label = 153; } 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) { + $362 = HEAP32[(35460)>>2]|0; + $363 = (($362) - ($266))|0; + $364 = ($$4351$lcssa$i>>>0)<($363>>>0); + if ($364) { + $365 = HEAP32[(35468)>>2]|0; + $366 = ($$4$lcssa$i>>>0)<($365>>>0); + if ($366) { _abort(); // unreachable; } - $350 = (($$4$lcssa$i) + ($249)|0); - $351 = ($$4$lcssa$i>>>0)<($350>>>0); - if (!($351)) { + $367 = (($$4$lcssa$i) + ($266)|0); + $368 = ($$4$lcssa$i>>>0)<($367>>>0); + if (!($368)) { _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); + $369 = ((($$4$lcssa$i)) + 24|0); + $370 = HEAP32[$369>>2]|0; + $371 = ((($$4$lcssa$i)) + 12|0); + $372 = HEAP32[$371>>2]|0; + $373 = ($372|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) { + if ($373) { + $383 = ((($$4$lcssa$i)) + 20|0); + $384 = HEAP32[$383>>2]|0; + $385 = ($384|0)==(0|0); + if ($385) { + $386 = ((($$4$lcssa$i)) + 16|0); + $387 = HEAP32[$386>>2]|0; + $388 = ($387|0)==(0|0); + if ($388) { $$3372$i = 0; break; } else { - $$1370$i = $370;$$1374$i = $369; + $$1370$i = $387;$$1374$i = $386; } } else { - $$1370$i = $367;$$1374$i = $366; + $$1370$i = $384;$$1374$i = $383; } 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; + $389 = ((($$1370$i)) + 20|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($390|0)==(0|0); + if (!($391)) { + $$1370$i = $390;$$1374$i = $389; continue; } - $375 = ((($$1370$i)) + 16|0); - $376 = HEAP32[$375>>2]|0; - $377 = ($376|0)==(0|0); - if ($377) { + $392 = ((($$1370$i)) + 16|0); + $393 = HEAP32[$392>>2]|0; + $394 = ($393|0)==(0|0); + if ($394) { break; } else { - $$1370$i = $376;$$1374$i = $375; + $$1370$i = $393;$$1374$i = $392; } } - $378 = ($$1374$i>>>0)<($348>>>0); - if ($378) { + $395 = ($$1374$i>>>0)<($365>>>0); + if ($395) { _abort(); // unreachable; } else { @@ -24368,27 +30666,27 @@ function _malloc($0) { break; } } else { - $357 = ((($$4$lcssa$i)) + 8|0); - $358 = HEAP32[$357>>2]|0; - $359 = ($358>>>0)<($348>>>0); - if ($359) { + $374 = ((($$4$lcssa$i)) + 8|0); + $375 = HEAP32[$374>>2]|0; + $376 = ($375>>>0)<($365>>>0); + if ($376) { _abort(); // unreachable; } - $360 = ((($358)) + 12|0); - $361 = HEAP32[$360>>2]|0; - $362 = ($361|0)==($$4$lcssa$i|0); - if (!($362)) { + $377 = ((($375)) + 12|0); + $378 = HEAP32[$377>>2]|0; + $379 = ($378|0)==($$4$lcssa$i|0); + if (!($379)) { _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; + $380 = ((($372)) + 8|0); + $381 = HEAP32[$380>>2]|0; + $382 = ($381|0)==($$4$lcssa$i|0); + if ($382) { + HEAP32[$377>>2] = $372; + HEAP32[$380>>2] = $375; + $$3372$i = $372; break; } else { _abort(); @@ -24396,273 +30694,275 @@ function _malloc($0) { } } } while(0); - $379 = ($353|0)==(0|0); - L164: do { - if ($379) { - $470 = $250; + $396 = ($370|0)==(0|0); + L175: do { + if ($396) { + $487 = $267; } 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); + $397 = ((($$4$lcssa$i)) + 28|0); + $398 = HEAP32[$397>>2]|0; + $399 = (35756 + ($398<<2)|0); + $400 = HEAP32[$399>>2]|0; + $401 = ($$4$lcssa$i|0)==($400|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; + if ($401) { + HEAP32[$399>>2] = $$3372$i; + $cond$i209 = ($$3372$i|0)==(0|0); + if ($cond$i209) { + $402 = 1 << $398; + $403 = $402 ^ -1; + $404 = $267 & $403; + HEAP32[(35456)>>2] = $404; + $487 = $404; + break L175; } } else { - $388 = HEAP32[(33160)>>2]|0; - $389 = ($353>>>0)<($388>>>0); - if ($389) { + $405 = HEAP32[(35468)>>2]|0; + $406 = ($370>>>0)<($405>>>0); + if ($406) { _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; + $407 = ((($370)) + 16|0); + $408 = HEAP32[$407>>2]|0; + $not$$i210 = ($408|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i210&1; + $409 = (((($370)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$409>>2] = $$3372$i; + $410 = ($$3372$i|0)==(0|0); + if ($410) { + $487 = $267; + break L175; } else { break; } } } } while(0); - $394 = HEAP32[(33160)>>2]|0; - $395 = ($$3372$i>>>0)<($394>>>0); - if ($395) { + $411 = HEAP32[(35468)>>2]|0; + $412 = ($$3372$i>>>0)<($411>>>0); + if ($412) { _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); + $413 = ((($$3372$i)) + 24|0); + HEAP32[$413>>2] = $370; + $414 = ((($$4$lcssa$i)) + 16|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($415|0)==(0|0); do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { + if (!($416)) { + $417 = ($415>>>0)<($411>>>0); + if ($417) { _abort(); // unreachable; } else { - $401 = ((($$3372$i)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $$3372$i; + $418 = ((($$3372$i)) + 16|0); + HEAP32[$418>>2] = $415; + $419 = ((($415)) + 24|0); + HEAP32[$419>>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; + $420 = ((($$4$lcssa$i)) + 20|0); + $421 = HEAP32[$420>>2]|0; + $422 = ($421|0)==(0|0); + if ($422) { + $487 = $267; } else { - $406 = HEAP32[(33160)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { + $423 = HEAP32[(35468)>>2]|0; + $424 = ($421>>>0)<($423>>>0); + if ($424) { _abort(); // unreachable; } else { - $408 = ((($$3372$i)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $$3372$i; - $470 = $250; + $425 = ((($$3372$i)) + 20|0); + HEAP32[$425>>2] = $421; + $426 = ((($421)) + 24|0); + HEAP32[$426>>2] = $$3372$i; + $487 = $267; break; } } } } while(0); - $410 = ($$4351$lcssa$i>>>0)<(16); + $427 = ($$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; + if ($427) { + $428 = (($$4351$lcssa$i) + ($266))|0; + $429 = $428 | 3; + $430 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$430>>2] = $429; + $431 = (($$4$lcssa$i) + ($428)|0); + $432 = ((($431)) + 4|0); + $433 = HEAP32[$432>>2]|0; + $434 = $433 | 1; + HEAP32[$432>>2] = $434; } 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) { + $435 = $266 | 3; + $436 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$436>>2] = $435; + $437 = $$4351$lcssa$i | 1; + $438 = ((($367)) + 4|0); + HEAP32[$438>>2] = $437; + $439 = (($367) + ($$4351$lcssa$i)|0); + HEAP32[$439>>2] = $$4351$lcssa$i; + $440 = $$4351$lcssa$i >>> 3; + $441 = ($$4351$lcssa$i>>>0)<(256); + if ($441) { + $442 = $440 << 1; + $443 = (35492 + ($442<<2)|0); + $444 = HEAP32[8863]|0; + $445 = 1 << $440; + $446 = $444 & $445; + $447 = ($446|0)==(0); + do { + if ($447) { + $448 = $444 | $445; + HEAP32[8863] = $448; + $$pre$i211 = ((($443)) + 8|0); + $$0368$i = $443;$$pre$phi$i212Z2D = $$pre$i211; + } else { + $449 = ((($443)) + 8|0); + $450 = HEAP32[$449>>2]|0; + $451 = HEAP32[(35468)>>2]|0; + $452 = ($450>>>0)<($451>>>0); + if (!($452)) { + $$0368$i = $450;$$pre$phi$i212Z2D = $449; + break; + } _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; + } while(0); + HEAP32[$$pre$phi$i212Z2D>>2] = $367; + $453 = ((($$0368$i)) + 12|0); + HEAP32[$453>>2] = $367; + $454 = ((($367)) + 8|0); + HEAP32[$454>>2] = $$0368$i; + $455 = ((($367)) + 12|0); + HEAP32[$455>>2] = $443; break; } - $439 = $$4351$lcssa$i >>> 8; - $440 = ($439|0)==(0); - if ($440) { + $456 = $$4351$lcssa$i >>> 8; + $457 = ($456|0)==(0); + if ($457) { $$0361$i = 0; } else { - $441 = ($$4351$lcssa$i>>>0)>(16777215); - if ($441) { + $458 = ($$4351$lcssa$i>>>0)>(16777215); + if ($458) { $$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; + $459 = (($456) + 1048320)|0; + $460 = $459 >>> 16; + $461 = $460 & 8; + $462 = $456 << $461; + $463 = (($462) + 520192)|0; + $464 = $463 >>> 16; + $465 = $464 & 4; + $466 = $465 | $461; + $467 = $462 << $465; + $468 = (($467) + 245760)|0; + $469 = $468 >>> 16; + $470 = $469 & 2; + $471 = $466 | $470; + $472 = (14 - ($471))|0; + $473 = $467 << $470; + $474 = $473 >>> 15; + $475 = (($472) + ($474))|0; + $476 = $475 << 1; + $477 = (($475) + 7)|0; + $478 = $$4351$lcssa$i >>> $477; + $479 = $478 & 1; + $480 = $479 | $476; + $$0361$i = $480; } } - $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; + $481 = (35756 + ($$0361$i<<2)|0); + $482 = ((($367)) + 28|0); + HEAP32[$482>>2] = $$0361$i; + $483 = ((($367)) + 16|0); + $484 = ((($483)) + 4|0); + HEAP32[$484>>2] = 0; + HEAP32[$483>>2] = 0; + $485 = 1 << $$0361$i; + $486 = $487 & $485; + $488 = ($486|0)==(0); + if ($488) { + $489 = $487 | $485; + HEAP32[(35456)>>2] = $489; + HEAP32[$481>>2] = $367; + $490 = ((($367)) + 24|0); + HEAP32[$490>>2] = $481; + $491 = ((($367)) + 12|0); + HEAP32[$491>>2] = $367; + $492 = ((($367)) + 8|0); + HEAP32[$492>>2] = $367; 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; + $493 = HEAP32[$481>>2]|0; + $494 = ($$0361$i|0)==(31); + $495 = $$0361$i >>> 1; + $496 = (25 - ($495))|0; + $497 = $494 ? 0 : $496; + $498 = $$4351$lcssa$i << $497; + $$0344$i = $498;$$0345$i = $493; 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; + $499 = ((($$0345$i)) + 4|0); + $500 = HEAP32[$499>>2]|0; + $501 = $500 & -8; + $502 = ($501|0)==($$4351$lcssa$i|0); + if ($502) { + label = 148; 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; + $503 = $$0344$i >>> 31; + $504 = (((($$0345$i)) + 16|0) + ($503<<2)|0); + $505 = $$0344$i << 1; + $506 = HEAP32[$504>>2]|0; + $507 = ($506|0)==(0|0); + if ($507) { + label = 145; break; } else { - $$0344$i = $488;$$0345$i = $489; + $$0344$i = $505;$$0345$i = $506; } } - if ((label|0) == 136) { - $491 = HEAP32[(33160)>>2]|0; - $492 = ($487>>>0)<($491>>>0); - if ($492) { + if ((label|0) == 145) { + $508 = HEAP32[(35468)>>2]|0; + $509 = ($504>>>0)<($508>>>0); + if ($509) { _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; + HEAP32[$504>>2] = $367; + $510 = ((($367)) + 24|0); + HEAP32[$510>>2] = $$0345$i; + $511 = ((($367)) + 12|0); + HEAP32[$511>>2] = $367; + $512 = ((($367)) + 8|0); + HEAP32[$512>>2] = $367; 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; + else if ((label|0) == 148) { + $513 = ((($$0345$i)) + 8|0); + $514 = HEAP32[$513>>2]|0; + $515 = HEAP32[(35468)>>2]|0; + $516 = ($514>>>0)>=($515>>>0); + $not$9$i = ($$0345$i>>>0)>=($515>>>0); + $517 = $516 & $not$9$i; + if ($517) { + $518 = ((($514)) + 12|0); + HEAP32[$518>>2] = $367; + HEAP32[$513>>2] = $367; + $519 = ((($367)) + 8|0); + HEAP32[$519>>2] = $514; + $520 = ((($367)) + 12|0); + HEAP32[$520>>2] = $$0345$i; + $521 = ((($367)) + 24|0); + HEAP32[$521>>2] = 0; break; } else { _abort(); @@ -24671,1698 +30971,1461 @@ function _malloc($0) { } } } while(0); - $505 = ((($$4$lcssa$i)) + 8|0); - $$0 = $505; - STACKTOP = sp;return ($$0|0); + $522 = ((($$4$lcssa$i)) + 8|0); + $$2 = $522; } else { - $$0197 = $249; + $$0198 = $266; + label = 153; } } } } } } 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; + L230: do { + if ((label|0) == 153) { + $523 = HEAP32[(35460)>>2]|0; + $524 = ($523>>>0)<($$0198>>>0); + if (!($524)) { + $525 = (($523) - ($$0198))|0; + $526 = HEAP32[(35472)>>2]|0; + $527 = ($525>>>0)>(15); + if ($527) { + $528 = (($526) + ($$0198)|0); + HEAP32[(35472)>>2] = $528; + HEAP32[(35460)>>2] = $525; + $529 = $525 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = (($528) + ($525)|0); + HEAP32[$531>>2] = $525; + $532 = $$0198 | 3; + $533 = ((($526)) + 4|0); + HEAP32[$533>>2] = $532; } 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; - } + HEAP32[(35460)>>2] = 0; + HEAP32[(35472)>>2] = 0; + $534 = $523 | 3; + $535 = ((($526)) + 4|0); + HEAP32[$535>>2] = $534; + $536 = (($526) + ($523)|0); + $537 = ((($536)) + 4|0); + $538 = HEAP32[$537>>2]|0; + $539 = $538 | 1; + HEAP32[$537>>2] = $539; + } + $540 = ((($526)) + 8|0); + $$2 = $540; + break; + } + $541 = HEAP32[(35464)>>2]|0; + $542 = ($541>>>0)>($$0198>>>0); + if ($542) { + $543 = (($541) - ($$0198))|0; + HEAP32[(35464)>>2] = $543; + $544 = HEAP32[(35476)>>2]|0; + $545 = (($544) + ($$0198)|0); + HEAP32[(35476)>>2] = $545; + $546 = $543 | 1; + $547 = ((($545)) + 4|0); + HEAP32[$547>>2] = $546; + $548 = $$0198 | 3; + $549 = ((($544)) + 4|0); + HEAP32[$549>>2] = $548; + $550 = ((($544)) + 8|0); + $$2 = $550; + break; + } + $551 = HEAP32[8850]|0; + $552 = ($551|0)==(0); + if ($552) { + (___pthread_mutex_lock(35424)|0); + $553 = HEAP32[8850]|0; + $554 = ($553|0)==(0); + if ($554) { + HEAP32[(35408)>>2] = 4096; + HEAP32[(35404)>>2] = 4096; + HEAP32[(35412)>>2] = -1; + HEAP32[(35416)>>2] = -1; + HEAP32[(35420)>>2] = 2; + HEAP32[(35896)>>2] = 2; + $555 = (_pthread_mutexattr_init($1)|0); + $556 = ($555|0)==(0); + if ($556) { + $557 = (_pthread_mutex_init((35900),$1)|0); + $558 = ($557|0)==(0); + if ($558) { } - $563 = ((($$0$i$i)) + 8|0); - $564 = HEAP32[$563>>2]|0; - $565 = ($564|0)==(0|0); - if ($565) { - label = 163; - break L246; + } + $559 = $2; + $560 = $559 & -16; + $561 = $560 ^ 1431655768; + HEAP32[$2>>2] = $561; + Atomics_store(HEAP32,8850,$561)|0; + } + (___pthread_mutex_unlock(35424)|0); + } + $562 = (($$0198) + 48)|0; + $563 = HEAP32[(35408)>>2]|0; + $564 = (($$0198) + 47)|0; + $565 = (($563) + ($564))|0; + $566 = (0 - ($563))|0; + $567 = $565 & $566; + $568 = ($567>>>0)>($$0198>>>0); + if ($568) { + $569 = HEAP32[(35892)>>2]|0; + $570 = ($569|0)==(0); + if (!($570)) { + $571 = HEAP32[(35884)>>2]|0; + $572 = (($571) + ($567))|0; + $573 = ($572>>>0)<=($571>>>0); + $574 = ($572>>>0)>($569>>>0); + $or$cond1$i = $573 | $574; + if ($or$cond1$i) { + $$2 = 0; + break; + } + } + $575 = HEAP32[(35896)>>2]|0; + $576 = $575 & 4; + $577 = ($576|0)==(0); + if ($577) { + $578 = HEAP32[(35476)>>2]|0; + $579 = ($578|0)==(0|0); + L258: do { + if ($579) { + label = 176; } else { - $$0$i$i = $564; + $$0$i$i = (35928); + while(1) { + $580 = HEAP32[$$0$i$i>>2]|0; + $581 = ($580>>>0)>($578>>>0); + if (!($581)) { + $582 = ((($$0$i$i)) + 4|0); + $583 = HEAP32[$582>>2]|0; + $584 = (($580) + ($583)|0); + $585 = ($584>>>0)>($578>>>0); + if ($585) { + break; + } + } + $586 = ((($$0$i$i)) + 8|0); + $587 = HEAP32[$586>>2]|0; + $588 = ($587|0)==(0|0); + if ($588) { + label = 176; + break L258; + } else { + $$0$i$i = $587; + } + } + (___pthread_mutex_lock(35424)|0); + $611 = HEAP32[(35464)>>2]|0; + $612 = HEAP32[(35408)>>2]|0; + $613 = (($564) - ($611))|0; + $614 = (($613) + ($612))|0; + $615 = (0 - ($612))|0; + $616 = $614 & $615; + $617 = ($616>>>0)<(2147483647); + if ($617) { + $618 = (_sbrk(($616|0))|0); + $619 = HEAP32[$$0$i$i>>2]|0; + $620 = HEAP32[$582>>2]|0; + $621 = (($619) + ($620)|0); + $622 = ($618|0)==($621|0); + if ($622) { + $623 = ($618|0)==((-1)|0); + if ($623) { + $$2234253237$i = $616; + label = 190; + } else { + $$3229$i = $618;$$3235$i = $616; + } + } else { + $$2247$ph$i = $618;$$2253$ph$i = $616; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } } - } - $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; + } while(0); + do { + if ((label|0) == 176) { + (___pthread_mutex_lock(35424)|0); + $589 = (_sbrk(0)|0); + $590 = ($589|0)==((-1)|0); + if ($590) { + $$2234253237$i = 0; + label = 190; } else { - $$723948$i = $589;$$749$i = $591; - label = 180; - break L244; + $591 = $589; + $592 = HEAP32[(35404)>>2]|0; + $593 = (($592) + -1)|0; + $594 = $593 & $591; + $595 = ($594|0)==(0); + $596 = (($593) + ($591))|0; + $597 = (0 - ($592))|0; + $598 = $596 & $597; + $599 = (($598) - ($591))|0; + $600 = $595 ? 0 : $599; + $$$i = (($600) + ($567))|0; + $601 = HEAP32[(35884)>>2]|0; + $602 = (($$$i) + ($601))|0; + $603 = ($$$i>>>0)>($$0198>>>0); + $604 = ($$$i>>>0)<(2147483647); + $or$cond$i213 = $603 & $604; + if ($or$cond$i213) { + $605 = HEAP32[(35892)>>2]|0; + $606 = ($605|0)==(0); + if (!($606)) { + $607 = ($602>>>0)<=($601>>>0); + $608 = ($602>>>0)>($605>>>0); + $or$cond2$i214 = $607 | $608; + if ($or$cond2$i214) { + $$2234253237$i = 0; + label = 190; + break; + } + } + $609 = (_sbrk(($$$i|0))|0); + $610 = ($609|0)==($589|0); + if ($610) { + $$3229$i = $589;$$3235$i = $$$i; + } else { + $$2247$ph$i = $609;$$2253$ph$i = $$$i; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } } - } 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) { + } while(0); + do { + if ((label|0) == 184) { + $624 = (0 - ($$2253$ph$i))|0; + $625 = ($$2247$ph$i|0)!=((-1)|0); + $626 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $626 & $625; + $627 = ($562>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $627 & $or$cond7$i; + if (!($or$cond10$i)) { + $637 = ($$2247$ph$i|0)==((-1)|0); + if ($637) { $$2234253237$i = 0; + label = 190; + break; + } else { + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; break; } } - $586 = (_sbrk(($$$i|0))|0); - $587 = ($586|0)==($566|0); - if ($587) { - $$723948$i = $$$i;$$749$i = $566; - label = 180; - break L244; + $628 = HEAP32[(35408)>>2]|0; + $629 = (($564) - ($$2253$ph$i))|0; + $630 = (($629) + ($628))|0; + $631 = (0 - ($628))|0; + $632 = $630 & $631; + $633 = ($632>>>0)<(2147483647); + if ($633) { + $634 = (_sbrk(($632|0))|0); + $635 = ($634|0)==((-1)|0); + if ($635) { + (_sbrk(($624|0))|0); + $$2234253237$i = 0; + label = 190; + break; + } else { + $636 = (($632) + ($$2253$ph$i))|0; + $$3229$i = $$2247$ph$i;$$3235$i = $636; + break; + } } else { - $$2247$ph$i = $586;$$2253$ph$i = $$$i; - label = 171; + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; } - } 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; } + } while(0); + if ((label|0) == 190) { + $638 = HEAP32[(35896)>>2]|0; + $639 = $638 | 4; + HEAP32[(35896)>>2] = $639; + $$3229$i = (-1);$$3235$i = $$2234253237$i; } - } - $687 = HEAP32[(33160)>>2]|0; - $688 = ($$749$i>>>0)<($687>>>0); - if ($688) { - HEAP32[(33160)>>2] = $$749$i; - $752 = $$749$i; + (___pthread_mutex_unlock(35424)|0); + $$4230$i = $$3229$i;$$4236$i = $$3235$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; + $$4230$i = (-1);$$4236$i = 0; + } + $640 = ($$4230$i|0)==((-1)|0); + $641 = ($567>>>0)<(2147483647); + $or$cond9$i = $641 & $640; + if ($or$cond9$i) { + (___pthread_mutex_lock(35424)|0); + $642 = (_sbrk(($567|0))|0); + $643 = (_sbrk(0)|0); + (___pthread_mutex_unlock(35424)|0); + $644 = ($642|0)!=((-1)|0); + $645 = ($643|0)!=((-1)|0); + $or$cond5$i = $644 & $645; + $646 = ($642>>>0)<($643>>>0); + $or$cond11$i = $646 & $or$cond5$i; + $647 = $643; + $648 = $642; + $649 = (($647) - ($648))|0; + $650 = (($$0198) + 40)|0; + $651 = ($649>>>0)>($650>>>0); + $$$4236$i = $651 ? $649 : $$4236$i; + $$$4230$i = $651 ? $642 : (-1); + if ($or$cond11$i) { + $$7$i = $$$4230$i;$$7239$i = $$$4236$i; + label = 194; } - } - 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); + } else { + $$7$i = $$4230$i;$$7239$i = $$4236$i; + label = 194; + } + if ((label|0) == 194) { + $652 = ($$7$i|0)==((-1)|0); + if (!($652)) { + $653 = HEAP32[(35884)>>2]|0; + $654 = (($653) + ($$7239$i))|0; + HEAP32[(35884)>>2] = $654; + $655 = HEAP32[(35888)>>2]|0; + $656 = ($654>>>0)>($655>>>0); + if ($656) { + HEAP32[(35888)>>2] = $654; + } + $657 = HEAP32[(35476)>>2]|0; + $658 = ($657|0)==(0|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; + if ($658) { + $659 = HEAP32[(35468)>>2]|0; + $660 = ($659|0)==(0|0); + $661 = ($$7$i>>>0)<($659>>>0); + $or$cond12$i = $660 | $661; + if ($or$cond12$i) { + HEAP32[(35468)>>2] = $$7$i; + } + HEAP32[(35928)>>2] = $$7$i; + HEAP32[(35932)>>2] = $$7239$i; + HEAP32[(35940)>>2] = 0; + $662 = HEAP32[8850]|0; + HEAP32[(35488)>>2] = $662; + HEAP32[(35484)>>2] = -1; + $$01$i$i = 0; + while(1) { + $663 = $$01$i$i << 1; + $664 = (35492 + ($663<<2)|0); + $665 = ((($664)) + 12|0); + HEAP32[$665>>2] = $664; + $666 = ((($664)) + 8|0); + HEAP32[$666>>2] = $664; + $667 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($667|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $667; + } + } + $668 = (($$7239$i) + -40)|0; + $669 = ((($$7$i)) + 8|0); + $670 = $669; + $671 = $670 & 7; + $672 = ($671|0)==(0); + $673 = (0 - ($670))|0; + $674 = $673 & 7; + $675 = $672 ? 0 : $674; + $676 = (($$7$i) + ($675)|0); + $677 = (($668) - ($675))|0; + HEAP32[(35476)>>2] = $676; + HEAP32[(35464)>>2] = $677; + $678 = $677 | 1; + $679 = ((($676)) + 4|0); + HEAP32[$679>>2] = $678; + $680 = (($676) + ($677)|0); + $681 = ((($680)) + 4|0); + HEAP32[$681>>2] = 40; + $682 = HEAP32[(35416)>>2]|0; + HEAP32[(35480)>>2] = $682; } 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; + $$024363$i = (35928); + while(1) { + $683 = HEAP32[$$024363$i>>2]|0; + $684 = ((($$024363$i)) + 4|0); + $685 = HEAP32[$684>>2]|0; + $686 = (($683) + ($685)|0); + $687 = ($$7$i|0)==($686|0); + if ($687) { + label = 205; + break; + } + $688 = ((($$024363$i)) + 8|0); + $689 = HEAP32[$688>>2]|0; + $690 = ($689|0)==(0|0); + if ($690) { + break; + } else { + $$024363$i = $689; + } } - $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; + if ((label|0) == 205) { + $691 = ((($$024363$i)) + 12|0); + $692 = HEAP32[$691>>2]|0; + $693 = $692 & 8; + $694 = ($693|0)==(0); + if ($694) { + $695 = ($657>>>0)>=($683>>>0); + $696 = ($657>>>0)<($$7$i>>>0); + $or$cond43$i = $696 & $695; + if ($or$cond43$i) { + $697 = (($685) + ($$7239$i))|0; + HEAP32[$684>>2] = $697; + $698 = HEAP32[(35464)>>2]|0; + $699 = ((($657)) + 8|0); + $700 = $699; + $701 = $700 & 7; + $702 = ($701|0)==(0); + $703 = (0 - ($700))|0; + $704 = $703 & 7; + $705 = $702 ? 0 : $704; + $706 = (($657) + ($705)|0); + $707 = (($$7239$i) - ($705))|0; + $708 = (($698) + ($707))|0; + HEAP32[(35476)>>2] = $706; + HEAP32[(35464)>>2] = $708; + $709 = $708 | 1; + $710 = ((($706)) + 4|0); + HEAP32[$710>>2] = $709; + $711 = (($706) + ($708)|0); + $712 = ((($711)) + 4|0); + HEAP32[$712>>2] = 40; + $713 = HEAP32[(35416)>>2]|0; + HEAP32[(35480)>>2] = $713; + break; + } + } + } + $714 = HEAP32[(35468)>>2]|0; + $715 = ($$7$i>>>0)<($714>>>0); + if ($715) { + HEAP32[(35468)>>2] = $$7$i; + $779 = $$7$i; + } else { + $779 = $714; + } + $716 = (($$7$i) + ($$7239$i)|0); + $$124462$i = (35928); + while(1) { + $717 = HEAP32[$$124462$i>>2]|0; + $718 = ($717|0)==($716|0); + if ($718) { + label = 213; + break; + } + $719 = ((($$124462$i)) + 8|0); + $720 = HEAP32[$719>>2]|0; + $721 = ($720|0)==(0|0); + if ($721) { + break; + } else { + $$124462$i = $720; + } + } + if ((label|0) == 213) { + $722 = ((($$124462$i)) + 12|0); + $723 = HEAP32[$722>>2]|0; + $724 = $723 & 8; + $725 = ($724|0)==(0); + if ($725) { + HEAP32[$$124462$i>>2] = $$7$i; + $726 = ((($$124462$i)) + 4|0); + $727 = HEAP32[$726>>2]|0; + $728 = (($727) + ($$7239$i))|0; + HEAP32[$726>>2] = $728; + $729 = ((($$7$i)) + 8|0); + $730 = $729; + $731 = $730 & 7; + $732 = ($731|0)==(0); + $733 = (0 - ($730))|0; + $734 = $733 & 7; + $735 = $732 ? 0 : $734; + $736 = (($$7$i) + ($735)|0); + $737 = ((($716)) + 8|0); + $738 = $737; + $739 = $738 & 7; + $740 = ($739|0)==(0); + $741 = (0 - ($738))|0; + $742 = $741 & 7; + $743 = $740 ? 0 : $742; + $744 = (($716) + ($743)|0); + $745 = $744; + $746 = $736; + $747 = (($745) - ($746))|0; + $748 = (($736) + ($$0198)|0); + $749 = (($747) - ($$0198))|0; + $750 = $$0198 | 3; + $751 = ((($736)) + 4|0); + HEAP32[$751>>2] = $750; + $752 = ($744|0)==($657|0); + do { + if ($752) { + $753 = HEAP32[(35464)>>2]|0; + $754 = (($753) + ($749))|0; + HEAP32[(35464)>>2] = $754; + HEAP32[(35476)>>2] = $748; + $755 = $754 | 1; + $756 = ((($748)) + 4|0); + HEAP32[$756>>2] = $755; + } else { + $757 = HEAP32[(35472)>>2]|0; + $758 = ($744|0)==($757|0); + if ($758) { + $759 = HEAP32[(35460)>>2]|0; + $760 = (($759) + ($749))|0; + HEAP32[(35460)>>2] = $760; + HEAP32[(35472)>>2] = $748; + $761 = $760 | 1; + $762 = ((($748)) + 4|0); + HEAP32[$762>>2] = $761; + $763 = (($748) + ($760)|0); + HEAP32[$763>>2] = $760; + break; } - } 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; + $764 = ((($744)) + 4|0); + $765 = HEAP32[$764>>2]|0; + $766 = $765 & 3; + $767 = ($766|0)==(1); + if ($767) { + $768 = $765 & -8; + $769 = $765 >>> 3; + $770 = ($765>>>0)<(256); + L329: do { + if ($770) { + $771 = ((($744)) + 8|0); + $772 = HEAP32[$771>>2]|0; + $773 = ((($744)) + 12|0); + $774 = HEAP32[$773>>2]|0; + $775 = $769 << 1; + $776 = (35492 + ($775<<2)|0); + $777 = ($772|0)==($776|0); + do { + if (!($777)) { + $778 = ($772>>>0)<($779>>>0); + if ($778) { + _abort(); + // unreachable; + } + $780 = ((($772)) + 12|0); + $781 = HEAP32[$780>>2]|0; + $782 = ($781|0)==($744|0); + if ($782) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $783 = ($774|0)==($772|0); + if ($783) { + $784 = 1 << $769; + $785 = $784 ^ -1; + $786 = HEAP32[8863]|0; + $787 = $786 & $785; + HEAP32[8863] = $787; + break; + } + $788 = ($774|0)==($776|0); + do { + if ($788) { + $$pre10$i$i = ((($774)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $789 = ($774>>>0)<($779>>>0); + if ($789) { + _abort(); + // unreachable; + } + $790 = ((($774)) + 8|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==($744|0); + if ($792) { + $$pre$phi11$i$iZ2D = $790; + break; + } + _abort(); + // unreachable; + } + } while(0); + $793 = ((($772)) + 12|0); + HEAP32[$793>>2] = $774; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $772; + } else { + $794 = ((($744)) + 24|0); + $795 = HEAP32[$794>>2]|0; + $796 = ((($744)) + 12|0); + $797 = HEAP32[$796>>2]|0; + $798 = ($797|0)==($744|0); + do { + if ($798) { + $808 = ((($744)) + 16|0); + $809 = ((($808)) + 4|0); + $810 = HEAP32[$809>>2]|0; + $811 = ($810|0)==(0|0); + if ($811) { + $812 = HEAP32[$808>>2]|0; + $813 = ($812|0)==(0|0); + if ($813) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $812;$$1293$i$i = $808; + } + } else { + $$1291$i$i = $810;$$1293$i$i = $809; + } + while(1) { + $814 = ((($$1291$i$i)) + 20|0); + $815 = HEAP32[$814>>2]|0; + $816 = ($815|0)==(0|0); + if (!($816)) { + $$1291$i$i = $815;$$1293$i$i = $814; + continue; + } + $817 = ((($$1291$i$i)) + 16|0); + $818 = HEAP32[$817>>2]|0; + $819 = ($818|0)==(0|0); + if ($819) { + break; + } else { + $$1291$i$i = $818;$$1293$i$i = $817; + } + } + $820 = ($$1293$i$i>>>0)<($779>>>0); + if ($820) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $799 = ((($744)) + 8|0); + $800 = HEAP32[$799>>2]|0; + $801 = ($800>>>0)<($779>>>0); + if ($801) { + _abort(); + // unreachable; + } + $802 = ((($800)) + 12|0); + $803 = HEAP32[$802>>2]|0; + $804 = ($803|0)==($744|0); + if (!($804)) { + _abort(); + // unreachable; + } + $805 = ((($797)) + 8|0); + $806 = HEAP32[$805>>2]|0; + $807 = ($806|0)==($744|0); + if ($807) { + HEAP32[$802>>2] = $797; + HEAP32[$805>>2] = $800; + $$3$i$i = $797; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $821 = ($795|0)==(0|0); + if ($821) { + break; + } + $822 = ((($744)) + 28|0); + $823 = HEAP32[$822>>2]|0; + $824 = (35756 + ($823<<2)|0); + $825 = HEAP32[$824>>2]|0; + $826 = ($744|0)==($825|0); + do { + if ($826) { + HEAP32[$824>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $827 = 1 << $823; + $828 = $827 ^ -1; + $829 = HEAP32[(35456)>>2]|0; + $830 = $829 & $828; + HEAP32[(35456)>>2] = $830; + break L329; + } else { + $831 = HEAP32[(35468)>>2]|0; + $832 = ($795>>>0)<($831>>>0); + if ($832) { + _abort(); + // unreachable; + } else { + $833 = ((($795)) + 16|0); + $834 = HEAP32[$833>>2]|0; + $not$$i$i = ($834|0)!=($744|0); + $$sink1$i$i = $not$$i$i&1; + $835 = (((($795)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$835>>2] = $$3$i$i; + $836 = ($$3$i$i|0)==(0|0); + if ($836) { + break L329; + } else { + break; + } + } + } + } while(0); + $837 = HEAP32[(35468)>>2]|0; + $838 = ($$3$i$i>>>0)<($837>>>0); + if ($838) { + _abort(); + // unreachable; + } + $839 = ((($$3$i$i)) + 24|0); + HEAP32[$839>>2] = $795; + $840 = ((($744)) + 16|0); + $841 = HEAP32[$840>>2]|0; + $842 = ($841|0)==(0|0); + do { + if (!($842)) { + $843 = ($841>>>0)<($837>>>0); + if ($843) { + _abort(); + // unreachable; + } else { + $844 = ((($$3$i$i)) + 16|0); + HEAP32[$844>>2] = $841; + $845 = ((($841)) + 24|0); + HEAP32[$845>>2] = $$3$i$i; + break; + } + } + } while(0); + $846 = ((($840)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = ($847|0)==(0|0); + if ($848) { + break; + } + $849 = HEAP32[(35468)>>2]|0; + $850 = ($847>>>0)<($849>>>0); + if ($850) { + _abort(); + // unreachable; + } else { + $851 = ((($$3$i$i)) + 20|0); + HEAP32[$851>>2] = $847; + $852 = ((($847)) + 24|0); + HEAP32[$852>>2] = $$3$i$i; + break; + } + } + } while(0); + $853 = (($744) + ($768)|0); + $854 = (($768) + ($749))|0; + $$0$i17$i = $853;$$0287$i$i = $854; } 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; + $$0$i17$i = $744;$$0287$i$i = $749; } - } 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; + $855 = ((($$0$i17$i)) + 4|0); + $856 = HEAP32[$855>>2]|0; + $857 = $856 & -2; + HEAP32[$855>>2] = $857; + $858 = $$0287$i$i | 1; + $859 = ((($748)) + 4|0); + HEAP32[$859>>2] = $858; + $860 = (($748) + ($$0287$i$i)|0); + HEAP32[$860>>2] = $$0287$i$i; + $861 = $$0287$i$i >>> 3; + $862 = ($$0287$i$i>>>0)<(256); + if ($862) { + $863 = $861 << 1; + $864 = (35492 + ($863<<2)|0); + $865 = HEAP32[8863]|0; + $866 = 1 << $861; + $867 = $865 & $866; + $868 = ($867|0)==(0); + do { + if ($868) { + $869 = $865 | $866; + HEAP32[8863] = $869; + $$pre$i$i = ((($864)) + 8|0); + $$0295$i$i = $864;$$pre$phi$i$iZ2D = $$pre$i$i; } else { - $$1291$i$i = $785;$$1293$i$i = $781; + $870 = ((($864)) + 8|0); + $871 = HEAP32[$870>>2]|0; + $872 = HEAP32[(35468)>>2]|0; + $873 = ($871>>>0)<($872>>>0); + if (!($873)) { + $$0295$i$i = $871;$$pre$phi$i$iZ2D = $870; + break; + } + _abort(); + // unreachable; } + } while(0); + HEAP32[$$pre$phi$i$iZ2D>>2] = $748; + $874 = ((($$0295$i$i)) + 12|0); + HEAP32[$874>>2] = $748; + $875 = ((($748)) + 8|0); + HEAP32[$875>>2] = $$0295$i$i; + $876 = ((($748)) + 12|0); + HEAP32[$876>>2] = $864; + break; + } + $877 = $$0287$i$i >>> 8; + $878 = ($877|0)==(0); + do { + if ($878) { + $$0296$i$i = 0; } 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) { + $879 = ($$0287$i$i>>>0)>(16777215); + if ($879) { + $$0296$i$i = 31; break; - } else { - $$1291$i$i = $791;$$1293$i$i = $790; } + $880 = (($877) + 1048320)|0; + $881 = $880 >>> 16; + $882 = $881 & 8; + $883 = $877 << $882; + $884 = (($883) + 520192)|0; + $885 = $884 >>> 16; + $886 = $885 & 4; + $887 = $886 | $882; + $888 = $883 << $886; + $889 = (($888) + 245760)|0; + $890 = $889 >>> 16; + $891 = $890 & 2; + $892 = $887 | $891; + $893 = (14 - ($892))|0; + $894 = $888 << $891; + $895 = $894 >>> 15; + $896 = (($893) + ($895))|0; + $897 = $896 << 1; + $898 = (($896) + 7)|0; + $899 = $$0287$i$i >>> $898; + $900 = $899 & 1; + $901 = $900 | $897; + $$0296$i$i = $901; } - $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; + } while(0); + $902 = (35756 + ($$0296$i$i<<2)|0); + $903 = ((($748)) + 28|0); + HEAP32[$903>>2] = $$0296$i$i; + $904 = ((($748)) + 16|0); + $905 = ((($904)) + 4|0); + HEAP32[$905>>2] = 0; + HEAP32[$904>>2] = 0; + $906 = HEAP32[(35456)>>2]|0; + $907 = 1 << $$0296$i$i; + $908 = $906 & $907; + $909 = ($908|0)==(0); + if ($909) { + $910 = $906 | $907; + HEAP32[(35456)>>2] = $910; + HEAP32[$902>>2] = $748; + $911 = ((($748)) + 24|0); + HEAP32[$911>>2] = $902; + $912 = ((($748)) + 12|0); + HEAP32[$912>>2] = $748; + $913 = ((($748)) + 8|0); + HEAP32[$913>>2] = $748; + break; + } + $914 = HEAP32[$902>>2]|0; + $915 = ($$0296$i$i|0)==(31); + $916 = $$0296$i$i >>> 1; + $917 = (25 - ($916))|0; + $918 = $915 ? 0 : $917; + $919 = $$0287$i$i << $918; + $$0288$i$i = $919;$$0289$i$i = $914; + while(1) { + $920 = ((($$0289$i$i)) + 4|0); + $921 = HEAP32[$920>>2]|0; + $922 = $921 & -8; + $923 = ($922|0)==($$0287$i$i|0); + if ($923) { + label = 280; + break; } - $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; + $924 = $$0288$i$i >>> 31; + $925 = (((($$0289$i$i)) + 16|0) + ($924<<2)|0); + $926 = $$0288$i$i << 1; + $927 = HEAP32[$925>>2]|0; + $928 = ($927|0)==(0|0); + if ($928) { + label = 277; break; } else { - _abort(); - // unreachable; + $$0288$i$i = $926;$$0289$i$i = $927; } } - } 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) { + if ((label|0) == 277) { + $929 = HEAP32[(35468)>>2]|0; + $930 = ($925>>>0)<($929>>>0); + if ($930) { _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; - } + HEAP32[$925>>2] = $748; + $931 = ((($748)) + 24|0); + HEAP32[$931>>2] = $$0289$i$i; + $932 = ((($748)) + 12|0); + HEAP32[$932>>2] = $748; + $933 = ((($748)) + 8|0); + HEAP32[$933>>2] = $748; + 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) { + else if ((label|0) == 280) { + $934 = ((($$0289$i$i)) + 8|0); + $935 = HEAP32[$934>>2]|0; + $936 = HEAP32[(35468)>>2]|0; + $937 = ($935>>>0)>=($936>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($936>>>0); + $938 = $937 & $not$7$i$i; + if ($938) { + $939 = ((($935)) + 12|0); + HEAP32[$939>>2] = $748; + HEAP32[$934>>2] = $748; + $940 = ((($748)) + 8|0); + HEAP32[$940>>2] = $935; + $941 = ((($748)) + 12|0); + HEAP32[$941>>2] = $$0289$i$i; + $942 = ((($748)) + 24|0); + HEAP32[$942>>2] = 0; + break; + } else { _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; + } while(0); + $1074 = ((($736)) + 8|0); + $$2 = $1074; + break L230; + } } - $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; + $$0$i$i$i = (35928); + while(1) { + $943 = HEAP32[$$0$i$i$i>>2]|0; + $944 = ($943>>>0)>($657>>>0); + if (!($944)) { + $945 = ((($$0$i$i$i)) + 4|0); + $946 = HEAP32[$945>>2]|0; + $947 = (($943) + ($946)|0); + $948 = ($947>>>0)>($657>>>0); + if ($948) { 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; + $949 = ((($$0$i$i$i)) + 8|0); + $950 = HEAP32[$949>>2]|0; + $$0$i$i$i = $950; } - $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; + $951 = ((($947)) + -47|0); + $952 = ((($951)) + 8|0); + $953 = $952; + $954 = $953 & 7; + $955 = ($954|0)==(0); + $956 = (0 - ($953))|0; + $957 = $956 & 7; + $958 = $955 ? 0 : $957; + $959 = (($951) + ($958)|0); + $960 = ((($657)) + 16|0); + $961 = ($959>>>0)<($960>>>0); + $962 = $961 ? $657 : $959; + $963 = ((($962)) + 8|0); + $964 = ((($962)) + 24|0); + $965 = (($$7239$i) + -40)|0; + $966 = ((($$7$i)) + 8|0); + $967 = $966; + $968 = $967 & 7; + $969 = ($968|0)==(0); + $970 = (0 - ($967))|0; + $971 = $970 & 7; + $972 = $969 ? 0 : $971; + $973 = (($$7$i) + ($972)|0); + $974 = (($965) - ($972))|0; + HEAP32[(35476)>>2] = $973; + HEAP32[(35464)>>2] = $974; + $975 = $974 | 1; + $976 = ((($973)) + 4|0); + HEAP32[$976>>2] = $975; + $977 = (($973) + ($974)|0); + $978 = ((($977)) + 4|0); + HEAP32[$978>>2] = 40; + $979 = HEAP32[(35416)>>2]|0; + HEAP32[(35480)>>2] = $979; + $980 = ((($962)) + 4|0); + HEAP32[$980>>2] = 27; + ;HEAP32[$963>>2]=HEAP32[(35928)>>2]|0;HEAP32[$963+4>>2]=HEAP32[(35928)+4>>2]|0;HEAP32[$963+8>>2]=HEAP32[(35928)+8>>2]|0;HEAP32[$963+12>>2]=HEAP32[(35928)+12>>2]|0; + HEAP32[(35928)>>2] = $$7$i; + HEAP32[(35932)>>2] = $$7239$i; + HEAP32[(35940)>>2] = 0; + HEAP32[(35936)>>2] = $963; + $982 = $964; 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; + $981 = ((($982)) + 4|0); + HEAP32[$981>>2] = 7; + $983 = ((($982)) + 8|0); + $984 = ($983>>>0)<($947>>>0); + if ($984) { + $982 = $981; } else { - $$0288$i$i = $899;$$0289$i$i = $900; + break; } } - 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; + $985 = ($962|0)==($657|0); + if (!($985)) { + $986 = $962; + $987 = $657; + $988 = (($986) - ($987))|0; + $989 = HEAP32[$980>>2]|0; + $990 = $989 & -2; + HEAP32[$980>>2] = $990; + $991 = $988 | 1; + $992 = ((($657)) + 4|0); + HEAP32[$992>>2] = $991; + HEAP32[$962>>2] = $988; + $993 = $988 >>> 3; + $994 = ($988>>>0)<(256); + if ($994) { + $995 = $993 << 1; + $996 = (35492 + ($995<<2)|0); + $997 = HEAP32[8863]|0; + $998 = 1 << $993; + $999 = $997 & $998; + $1000 = ($999|0)==(0); + do { + if ($1000) { + $1001 = $997 | $998; + HEAP32[8863] = $1001; + $$pre$i18$i = ((($996)) + 8|0); + $$0211$i$i = $996;$$pre$phi$i19$iZ2D = $$pre$i18$i; + } else { + $1002 = ((($996)) + 8|0); + $1003 = HEAP32[$1002>>2]|0; + $1004 = HEAP32[(35468)>>2]|0; + $1005 = ($1003>>>0)<($1004>>>0); + if (!($1005)) { + $$0211$i$i = $1003;$$pre$phi$i19$iZ2D = $1002; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i19$iZ2D>>2] = $657; + $1006 = ((($$0211$i$i)) + 12|0); + HEAP32[$1006>>2] = $657; + $1007 = ((($657)) + 8|0); + HEAP32[$1007>>2] = $$0211$i$i; + $1008 = ((($657)) + 12|0); + HEAP32[$1008>>2] = $996; 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; + $1009 = $988 >>> 8; + $1010 = ($1009|0)==(0); + do { + if ($1010) { + $$0212$i$i = 0; + } else { + $1011 = ($988>>>0)>(16777215); + if ($1011) { + $$0212$i$i = 31; + break; + } + $1012 = (($1009) + 1048320)|0; + $1013 = $1012 >>> 16; + $1014 = $1013 & 8; + $1015 = $1009 << $1014; + $1016 = (($1015) + 520192)|0; + $1017 = $1016 >>> 16; + $1018 = $1017 & 4; + $1019 = $1018 | $1014; + $1020 = $1015 << $1018; + $1021 = (($1020) + 245760)|0; + $1022 = $1021 >>> 16; + $1023 = $1022 & 2; + $1024 = $1019 | $1023; + $1025 = (14 - ($1024))|0; + $1026 = $1020 << $1023; + $1027 = $1026 >>> 15; + $1028 = (($1025) + ($1027))|0; + $1029 = $1028 << 1; + $1030 = (($1028) + 7)|0; + $1031 = $988 >>> $1030; + $1032 = $1031 & 1; + $1033 = $1032 | $1029; + $$0212$i$i = $1033; + } + } while(0); + $1034 = (35756 + ($$0212$i$i<<2)|0); + $1035 = ((($657)) + 28|0); + HEAP32[$1035>>2] = $$0212$i$i; + $1036 = ((($657)) + 20|0); + HEAP32[$1036>>2] = 0; + HEAP32[$960>>2] = 0; + $1037 = HEAP32[(35456)>>2]|0; + $1038 = 1 << $$0212$i$i; + $1039 = $1037 & $1038; + $1040 = ($1039|0)==(0); + if ($1040) { + $1041 = $1037 | $1038; + HEAP32[(35456)>>2] = $1041; + HEAP32[$1034>>2] = $657; + $1042 = ((($657)) + 24|0); + HEAP32[$1042>>2] = $1034; + $1043 = ((($657)) + 12|0); + HEAP32[$1043>>2] = $657; + $1044 = ((($657)) + 8|0); + HEAP32[$1044>>2] = $657; 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; + $1045 = HEAP32[$1034>>2]|0; + $1046 = ($$0212$i$i|0)==(31); + $1047 = $$0212$i$i >>> 1; + $1048 = (25 - ($1047))|0; + $1049 = $1046 ? 0 : $1048; + $1050 = $988 << $1049; + $$0206$i$i = $1050;$$0207$i$i = $1045; + while(1) { + $1051 = ((($$0207$i$i)) + 4|0); + $1052 = HEAP32[$1051>>2]|0; + $1053 = $1052 & -8; + $1054 = ($1053|0)==($988|0); + if ($1054) { + label = 307; + break; + } + $1055 = $$0206$i$i >>> 31; + $1056 = (((($$0207$i$i)) + 16|0) + ($1055<<2)|0); + $1057 = $$0206$i$i << 1; + $1058 = HEAP32[$1056>>2]|0; + $1059 = ($1058|0)==(0|0); + if ($1059) { + label = 304; + break; + } else { + $$0206$i$i = $1057;$$0207$i$i = $1058; + } + } + if ((label|0) == 304) { + $1060 = HEAP32[(35468)>>2]|0; + $1061 = ($1056>>>0)<($1060>>>0); + if ($1061) { + _abort(); + // unreachable; + } else { + HEAP32[$1056>>2] = $657; + $1062 = ((($657)) + 24|0); + HEAP32[$1062>>2] = $$0207$i$i; + $1063 = ((($657)) + 12|0); + HEAP32[$1063>>2] = $657; + $1064 = ((($657)) + 8|0); + HEAP32[$1064>>2] = $657; + break; + } + } + else if ((label|0) == 307) { + $1065 = ((($$0207$i$i)) + 8|0); + $1066 = HEAP32[$1065>>2]|0; + $1067 = HEAP32[(35468)>>2]|0; + $1068 = ($1066>>>0)>=($1067>>>0); + $not$$i21$i = ($$0207$i$i>>>0)>=($1067>>>0); + $1069 = $1068 & $not$$i21$i; + if ($1069) { + $1070 = ((($1066)) + 12|0); + HEAP32[$1070>>2] = $657; + HEAP32[$1065>>2] = $657; + $1071 = ((($657)) + 8|0); + HEAP32[$1071>>2] = $1066; + $1072 = ((($657)) + 12|0); + HEAP32[$1072>>2] = $$0207$i$i; + $1073 = ((($657)) + 24|0); + HEAP32[$1073>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1075 = HEAP32[(35464)>>2]|0; + $1076 = ($1075>>>0)>($$0198>>>0); + if ($1076) { + $1077 = (($1075) - ($$0198))|0; + HEAP32[(35464)>>2] = $1077; + $1078 = HEAP32[(35476)>>2]|0; + $1079 = (($1078) + ($$0198)|0); + HEAP32[(35476)>>2] = $1079; + $1080 = $1077 | 1; + $1081 = ((($1079)) + 4|0); + HEAP32[$1081>>2] = $1080; + $1082 = $$0198 | 3; + $1083 = ((($1078)) + 4|0); + HEAP32[$1083>>2] = $1082; + $1084 = ((($1078)) + 8|0); + $$2 = $1084; 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; - } } + $1085 = (___errno_location()|0); + HEAP32[$1085>>2] = 12; + $$2 = 0; + } else { + $$2 = 0; } - } else { - $$1 = $2;$$1382 = $9;$113 = $2; } } while(0); - $112 = ($113>>>0)<($10>>>0); - if (!($112)) { + $1086 = HEAP32[(35896)>>2]|0; + $1087 = $1086 & 2; + $1088 = ($1087|0)==(0); + if ($1088) { + $$1 = $$2; + STACKTOP = sp;return ($$1|0); + } + (___pthread_mutex_unlock((35900))|0); + $$1 = $$2; + STACKTOP = sp;return ($$1|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, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 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, $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[(35896)>>2]|0; + $4 = $3 & 2; + $5 = ($4|0)==(0); + if (!($5)) { + $6 = (___pthread_mutex_lock((35900))|0); + $7 = ($6|0)==(0); + if (!($7)) { + return; + } + } + $8 = HEAP32[(35468)>>2]|0; + $9 = ($2>>>0)<($8>>>0); + if ($9) { _abort(); // unreachable; } - $114 = ((($10)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 & 1; - $117 = ($116|0)==(0); - if ($117) { + $10 = ((($0)) + -4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 3; + $13 = ($12|0)==(1); + if ($13) { _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; - } + $14 = $11 & -8; + $15 = (($2) + ($14)|0); + $16 = $11 & 1; + $17 = ($16|0)==(0); + L14: do { + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = ($12|0)==(0); + if (!($19)) { + $20 = (0 - ($18))|0; + $21 = (($2) + ($20)|0); + $22 = (($18) + ($14))|0; + $23 = ($21>>>0)<($8>>>0); + if ($23) { + _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; + $24 = HEAP32[(35472)>>2]|0; + $25 = ($21|0)==($24|0); + if ($25) { + $109 = ((($15)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = $110 & 3; + $112 = ($111|0)==(3); + if (!($112)) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $113 = (($21) + ($22)|0); + $114 = ((($21)) + 4|0); + $115 = $22 | 1; + $116 = $110 & -2; + HEAP32[(35460)>>2] = $22; + HEAP32[$109>>2] = $116; + HEAP32[$114>>2] = $115; + HEAP32[$113>>2] = $22; 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; + $26 = $18 >>> 3; + $27 = ($18>>>0)<(256); + if ($27) { + $28 = ((($21)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($21)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = $26 << 1; + $33 = (35492 + ($32<<2)|0); + $34 = ($29|0)==($33|0); + if (!($34)) { + $35 = ($29>>>0)<($8>>>0); + if ($35) { + _abort(); + // unreachable; + } + $36 = ((($29)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==($21|0); + if (!($38)) { + _abort(); + // unreachable; + } } - $158 = ((($141)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==($10|0); - if ($160) { - $$pre$phi443Z2D = $158; + $39 = ($31|0)==($29|0); + if ($39) { + $40 = 1 << $26; + $41 = $40 ^ -1; + $42 = HEAP32[8863]|0; + $43 = $42 & $41; + HEAP32[8863] = $43; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $44 = ($31|0)==($33|0); + if ($44) { + $$pre444 = ((($31)) + 8|0); + $$pre$phi445Z2D = $$pre444; } else { - _abort(); - // unreachable; + $45 = ($31>>>0)<($8>>>0); + if ($45) { + _abort(); + // unreachable; + } + $46 = ((($31)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==($21|0); + if ($48) { + $$pre$phi445Z2D = $46; + } else { + _abort(); + // unreachable; + } } + $49 = ((($29)) + 12|0); + HEAP32[$49>>2] = $31; + HEAP32[$$pre$phi445Z2D>>2] = $29; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; } - $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); + $50 = ((($21)) + 24|0); + $51 = HEAP32[$50>>2]|0; + $52 = ((($21)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($21|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; + if ($54) { + $64 = ((($21)) + 16|0); + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if ($67) { + $68 = HEAP32[$64>>2]|0; + $69 = ($68|0)==(0|0); + if ($69) { + $$3 = 0; break; } else { - $$1398 = $181;$$1402 = $177; + $$1387 = $68;$$1390 = $64; } } else { - $$1398 = $179;$$1402 = $178; + $$1387 = $66;$$1390 = $65; } while(1) { - $183 = ((($$1398)) + 20|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)==(0|0); - if (!($185)) { - $$1398 = $184;$$1402 = $183; + $70 = ((($$1387)) + 20|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)==(0|0); + if (!($72)) { + $$1387 = $71;$$1390 = $70; continue; } - $186 = ((($$1398)) + 16|0); - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { + $73 = ((($$1387)) + 16|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)==(0|0); + if ($75) { break; } else { - $$1398 = $187;$$1402 = $186; + $$1387 = $74;$$1390 = $73; } } - $189 = HEAP32[(33160)>>2]|0; - $190 = ($$1402>>>0)<($189>>>0); - if ($190) { + $76 = ($$1390>>>0)<($8>>>0); + if ($76) { _abort(); // unreachable; } else { - HEAP32[$$1402>>2] = 0; - $$3400 = $$1398; + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; break; } } else { - $167 = ((($10)) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(33160)>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { + $55 = ((($21)) + 8|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($56>>>0)<($8>>>0); + if ($57) { _abort(); // unreachable; } - $171 = ((($168)) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)==($10|0); - if (!($173)) { + $58 = ((($56)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)==($21|0); + if (!($60)) { _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; + $61 = ((($53)) + 8|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==($21|0); + if ($63) { + HEAP32[$58>>2] = $53; + HEAP32[$61>>2] = $56; + $$3 = $53; break; } else { _abort(); @@ -26370,298 +32433,600 @@ function _free($0) { } } } 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); + $77 = ($51|0)==(0|0); + if ($77) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $78 = ((($21)) + 28|0); + $79 = HEAP32[$78>>2]|0; + $80 = (35756 + ($79<<2)|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($21|0)==($81|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; + if ($82) { + HEAP32[$80>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $83 = 1 << $79; + $84 = $83 ^ -1; + $85 = HEAP32[(35456)>>2]|0; + $86 = $85 & $84; + HEAP32[(35456)>>2] = $86; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; } } else { - $201 = HEAP32[(33160)>>2]|0; - $202 = ($163>>>0)<($201>>>0); - if ($202) { + $87 = HEAP32[(35468)>>2]|0; + $88 = ($51>>>0)<($87>>>0); + if ($88) { _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; + $89 = ((($51)) + 16|0); + $90 = HEAP32[$89>>2]|0; + $not$405 = ($90|0)!=($21|0); + $$sink3 = $not$405&1; + $91 = (((($51)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$91>>2] = $$3; + $92 = ($$3|0)==(0|0); + if ($92) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; } else { break; } } } } while(0); - $207 = HEAP32[(33160)>>2]|0; - $208 = ($$3400>>>0)<($207>>>0); - if ($208) { + $93 = HEAP32[(35468)>>2]|0; + $94 = ($$3>>>0)<($93>>>0); + if ($94) { _abort(); // unreachable; } - $209 = ((($$3400)) + 24|0); - HEAP32[$209>>2] = $163; - $210 = ((($10)) + 16|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); + $95 = ((($$3)) + 24|0); + HEAP32[$95>>2] = $51; + $96 = ((($21)) + 16|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)==(0|0); do { - if (!($212)) { - $213 = ($211>>>0)<($207>>>0); - if ($213) { + if (!($98)) { + $99 = ($97>>>0)<($93>>>0); + if ($99) { _abort(); // unreachable; } else { - $214 = ((($$3400)) + 16|0); - HEAP32[$214>>2] = $211; - $215 = ((($211)) + 24|0); - HEAP32[$215>>2] = $$3400; + $100 = ((($$3)) + 16|0); + HEAP32[$100>>2] = $97; + $101 = ((($97)) + 24|0); + HEAP32[$101>>2] = $$3; 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) { + $102 = ((($96)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)==(0|0); + if ($104) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $105 = HEAP32[(35468)>>2]|0; + $106 = ($103>>>0)<($105>>>0); + if ($106) { _abort(); // unreachable; } else { - $221 = ((($$3400)) + 20|0); - HEAP32[$221>>2] = $217; - $222 = ((($217)) + 24|0); - HEAP32[$222>>2] = $$3400; + $107 = ((($$3)) + 20|0); + HEAP32[$107>>2] = $103; + $108 = ((($103)) + 24|0); + HEAP32[$108>>2] = $$3; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; 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; + $$1 = $2;$$1382 = $14;$118 = $2; + label = 55; } - } 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) { + } while(0); + do { + if ((label|0) == 55) { + $117 = ($118>>>0)<($15>>>0); + if (!($117)) { _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; + $119 = ((($15)) + 4|0); + $120 = HEAP32[$119>>2]|0; + $121 = $120 & 1; + $122 = ($121|0)==(0); + if ($122) { + _abort(); + // unreachable; + } + $123 = $120 & 2; + $124 = ($123|0)==(0); + if ($124) { + $125 = HEAP32[(35476)>>2]|0; + $126 = ($15|0)==($125|0); + $127 = HEAP32[(35472)>>2]|0; + if ($126) { + $128 = HEAP32[(35464)>>2]|0; + $129 = (($128) + ($$1382))|0; + HEAP32[(35464)>>2] = $129; + HEAP32[(35476)>>2] = $$1; + $130 = $129 | 1; + $131 = ((($$1)) + 4|0); + HEAP32[$131>>2] = $130; + $132 = ($$1|0)==($127|0); + if (!($132)) { + break; + } + HEAP32[(35472)>>2] = 0; + HEAP32[(35460)>>2] = 0; 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; + $133 = ($15|0)==($127|0); + if ($133) { + $134 = HEAP32[(35460)>>2]|0; + $135 = (($134) + ($$1382))|0; + HEAP32[(35460)>>2] = $135; + HEAP32[(35472)>>2] = $118; + $136 = $135 | 1; + $137 = ((($$1)) + 4|0); + HEAP32[$137>>2] = $136; + $138 = (($118) + ($135)|0); + HEAP32[$138>>2] = $135; + break; + } + $139 = $120 & -8; + $140 = (($139) + ($$1382))|0; + $141 = $120 >>> 3; + $142 = ($120>>>0)<(256); + L106: do { + if ($142) { + $143 = ((($15)) + 8|0); + $144 = HEAP32[$143>>2]|0; + $145 = ((($15)) + 12|0); + $146 = HEAP32[$145>>2]|0; + $147 = $141 << 1; + $148 = (35492 + ($147<<2)|0); + $149 = ($144|0)==($148|0); + if (!($149)) { + $150 = HEAP32[(35468)>>2]|0; + $151 = ($144>>>0)<($150>>>0); + if ($151) { + _abort(); + // unreachable; + } + $152 = ((($144)) + 12|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==($15|0); + if (!($154)) { + _abort(); + // unreachable; + } + } + $155 = ($146|0)==($144|0); + if ($155) { + $156 = 1 << $141; + $157 = $156 ^ -1; + $158 = HEAP32[8863]|0; + $159 = $158 & $157; + HEAP32[8863] = $159; + break; + } + $160 = ($146|0)==($148|0); + if ($160) { + $$pre442 = ((($146)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $161 = HEAP32[(35468)>>2]|0; + $162 = ($146>>>0)<($161>>>0); + if ($162) { + _abort(); + // unreachable; + } + $163 = ((($146)) + 8|0); + $164 = HEAP32[$163>>2]|0; + $165 = ($164|0)==($15|0); + if ($165) { + $$pre$phi443Z2D = $163; + } else { + _abort(); + // unreachable; + } + } + $166 = ((($144)) + 12|0); + HEAP32[$166>>2] = $146; + HEAP32[$$pre$phi443Z2D>>2] = $144; + } else { + $167 = ((($15)) + 24|0); + $168 = HEAP32[$167>>2]|0; + $169 = ((($15)) + 12|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==($15|0); + do { + if ($171) { + $182 = ((($15)) + 16|0); + $183 = ((($182)) + 4|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if ($185) { + $186 = HEAP32[$182>>2]|0; + $187 = ($186|0)==(0|0); + if ($187) { + $$3400 = 0; + break; + } else { + $$1398 = $186;$$1402 = $182; + } + } else { + $$1398 = $184;$$1402 = $183; + } + while(1) { + $188 = ((($$1398)) + 20|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($189|0)==(0|0); + if (!($190)) { + $$1398 = $189;$$1402 = $188; + continue; + } + $191 = ((($$1398)) + 16|0); + $192 = HEAP32[$191>>2]|0; + $193 = ($192|0)==(0|0); + if ($193) { + break; + } else { + $$1398 = $192;$$1402 = $191; + } + } + $194 = HEAP32[(35468)>>2]|0; + $195 = ($$1402>>>0)<($194>>>0); + if ($195) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $172 = ((($15)) + 8|0); + $173 = HEAP32[$172>>2]|0; + $174 = HEAP32[(35468)>>2]|0; + $175 = ($173>>>0)<($174>>>0); + if ($175) { + _abort(); + // unreachable; + } + $176 = ((($173)) + 12|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==($15|0); + if (!($178)) { + _abort(); + // unreachable; + } + $179 = ((($170)) + 8|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==($15|0); + if ($181) { + HEAP32[$176>>2] = $170; + HEAP32[$179>>2] = $173; + $$3400 = $170; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $196 = ($168|0)==(0|0); + if (!($196)) { + $197 = ((($15)) + 28|0); + $198 = HEAP32[$197>>2]|0; + $199 = (35756 + ($198<<2)|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($15|0)==($200|0); + do { + if ($201) { + HEAP32[$199>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $202 = 1 << $198; + $203 = $202 ^ -1; + $204 = HEAP32[(35456)>>2]|0; + $205 = $204 & $203; + HEAP32[(35456)>>2] = $205; + break L106; + } + } else { + $206 = HEAP32[(35468)>>2]|0; + $207 = ($168>>>0)<($206>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($168)) + 16|0); + $209 = HEAP32[$208>>2]|0; + $not$ = ($209|0)!=($15|0); + $$sink5 = $not$&1; + $210 = (((($168)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$210>>2] = $$3400; + $211 = ($$3400|0)==(0|0); + if ($211) { + break L106; + } else { + break; + } + } + } + } while(0); + $212 = HEAP32[(35468)>>2]|0; + $213 = ($$3400>>>0)<($212>>>0); + if ($213) { + _abort(); + // unreachable; + } + $214 = ((($$3400)) + 24|0); + HEAP32[$214>>2] = $168; + $215 = ((($15)) + 16|0); + $216 = HEAP32[$215>>2]|0; + $217 = ($216|0)==(0|0); + do { + if (!($217)) { + $218 = ($216>>>0)<($212>>>0); + if ($218) { + _abort(); + // unreachable; + } else { + $219 = ((($$3400)) + 16|0); + HEAP32[$219>>2] = $216; + $220 = ((($216)) + 24|0); + HEAP32[$220>>2] = $$3400; + break; + } + } + } while(0); + $221 = ((($215)) + 4|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); + if (!($223)) { + $224 = HEAP32[(35468)>>2]|0; + $225 = ($222>>>0)<($224>>>0); + if ($225) { + _abort(); + // unreachable; + } else { + $226 = ((($$3400)) + 20|0); + HEAP32[$226>>2] = $222; + $227 = ((($222)) + 24|0); + HEAP32[$227>>2] = $$3400; + break; + } + } + } + } + } while(0); + $228 = $140 | 1; + $229 = ((($$1)) + 4|0); + HEAP32[$229>>2] = $228; + $230 = (($118) + ($140)|0); + HEAP32[$230>>2] = $140; + $231 = HEAP32[(35472)>>2]|0; + $232 = ($$1|0)==($231|0); + if ($232) { + HEAP32[(35460)>>2] = $140; break; } else { - $$0383 = $297;$$0384 = $298; + $$2 = $140; + } + } else { + $233 = $120 & -2; + HEAP32[$119>>2] = $233; + $234 = $$1382 | 1; + $235 = ((($$1)) + 4|0); + HEAP32[$235>>2] = $234; + $236 = (($118) + ($$1382)|0); + HEAP32[$236>>2] = $$1382; + $$2 = $$1382; + } + $237 = $$2 >>> 3; + $238 = ($$2>>>0)<(256); + if ($238) { + $239 = $237 << 1; + $240 = (35492 + ($239<<2)|0); + $241 = HEAP32[8863]|0; + $242 = 1 << $237; + $243 = $241 & $242; + $244 = ($243|0)==(0); + if ($244) { + $245 = $241 | $242; + HEAP32[8863] = $245; + $$pre = ((($240)) + 8|0); + $$0403 = $240;$$pre$phiZ2D = $$pre; + } else { + $246 = ((($240)) + 8|0); + $247 = HEAP32[$246>>2]|0; + $248 = HEAP32[(35468)>>2]|0; + $249 = ($247>>>0)<($248>>>0); + if ($249) { + _abort(); + // unreachable; + } else { + $$0403 = $247;$$pre$phiZ2D = $246; + } } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $250 = ((($$0403)) + 12|0); + HEAP32[$250>>2] = $$1; + $251 = ((($$1)) + 8|0); + HEAP32[$251>>2] = $$0403; + $252 = ((($$1)) + 12|0); + HEAP32[$252>>2] = $240; + break; } - if ((label|0) == 121) { - $300 = HEAP32[(33160)>>2]|0; - $301 = ($296>>>0)<($300>>>0); - if ($301) { - _abort(); - // unreachable; + $253 = $$2 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0396 = 0; + } else { + $255 = ($$2>>>0)>(16777215); + if ($255) { + $$0396 = 31; } 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; + $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 = $$2 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0396 = $277; + } + } + $278 = (35756 + ($$0396<<2)|0); + $279 = ((($$1)) + 28|0); + HEAP32[$279>>2] = $$0396; + $280 = ((($$1)) + 16|0); + $281 = ((($$1)) + 20|0); + HEAP32[$281>>2] = 0; + HEAP32[$280>>2] = 0; + $282 = HEAP32[(35456)>>2]|0; + $283 = 1 << $$0396; + $284 = $282 & $283; + $285 = ($284|0)==(0); + do { + if ($285) { + $286 = $282 | $283; + HEAP32[(35456)>>2] = $286; + HEAP32[$278>>2] = $$1; + $287 = ((($$1)) + 24|0); + HEAP32[$287>>2] = $278; + $288 = ((($$1)) + 12|0); + HEAP32[$288>>2] = $$1; + $289 = ((($$1)) + 8|0); + HEAP32[$289>>2] = $$1; + } else { + $290 = HEAP32[$278>>2]|0; + $291 = ($$0396|0)==(31); + $292 = $$0396 >>> 1; + $293 = (25 - ($292))|0; + $294 = $291 ? 0 : $293; + $295 = $$2 << $294; + $$0383 = $295;$$0384 = $290; + while(1) { + $296 = ((($$0384)) + 4|0); + $297 = HEAP32[$296>>2]|0; + $298 = $297 & -8; + $299 = ($298|0)==($$2|0); + if ($299) { + label = 126; + break; + } + $300 = $$0383 >>> 31; + $301 = (((($$0384)) + 16|0) + ($300<<2)|0); + $302 = $$0383 << 1; + $303 = HEAP32[$301>>2]|0; + $304 = ($303|0)==(0|0); + if ($304) { + label = 123; + break; + } else { + $$0383 = $302;$$0384 = $303; + } + } + if ((label|0) == 123) { + $305 = HEAP32[(35468)>>2]|0; + $306 = ($301>>>0)<($305>>>0); + if ($306) { + _abort(); + // unreachable; + } else { + HEAP32[$301>>2] = $$1; + $307 = ((($$1)) + 24|0); + HEAP32[$307>>2] = $$0384; + $308 = ((($$1)) + 12|0); + HEAP32[$308>>2] = $$1; + $309 = ((($$1)) + 8|0); + HEAP32[$309>>2] = $$1; + break; + } + } + else if ((label|0) == 126) { + $310 = ((($$0384)) + 8|0); + $311 = HEAP32[$310>>2]|0; + $312 = HEAP32[(35468)>>2]|0; + $313 = ($311>>>0)>=($312>>>0); + $not$437 = ($$0384>>>0)>=($312>>>0); + $314 = $313 & $not$437; + if ($314) { + $315 = ((($311)) + 12|0); + HEAP32[$315>>2] = $$1; + HEAP32[$310>>2] = $$1; + $316 = ((($$1)) + 8|0); + HEAP32[$316>>2] = $311; + $317 = ((($$1)) + 12|0); + HEAP32[$317>>2] = $$0384; + $318 = ((($$1)) + 24|0); + HEAP32[$318>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } } - } - 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); + $319 = HEAP32[(35484)>>2]|0; + $320 = (($319) + -1)|0; + HEAP32[(35484)>>2] = $320; + $321 = ($320|0)==(0); + if ($321) { + $$0212$in$i = (35936); + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $322 = ($$0212$i|0)==(0|0); + $323 = ((($$0212$i)) + 8|0); + if ($322) { + break; + } else { + $$0212$in$i = $323; + } } + HEAP32[(35484)>>2] = -1; } } } 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 { + $324 = HEAP32[(35896)>>2]|0; + $325 = $324 & 2; + $326 = ($325|0)==(0); + if ($326) { 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; + (___pthread_mutex_unlock((35900))|0); return; } function runPostSets() { @@ -27095,6 +33460,9 @@ function _roundf(f) { f = +f; return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? } +function _emscripten_set_current_thread_status(newStatus) { + newStatus = newStatus|0; +} function _bitshift64Lshr(low, high, bits) { low = low|0; high = high|0; bits = bits|0; var ander = 0; @@ -27106,6 +33474,10 @@ function _bitshift64Lshr(low, high, bits) { tempRet0 = 0; return (high >>> (bits - 32))|0; } +function _emscripten_conditional_set_current_thread_status(expectedStatus, newStatus) { + expectedStatus = expectedStatus|0; + newStatus = newStatus|0; +} function _sbrk(increment) { increment = increment|0; var oldDynamicTop = 0; @@ -27113,25 +33485,24 @@ function _sbrk(increment) { 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; + + // Perform a compare-and-swap loop to update the new dynamic top value. This is because + // this function can becalled simultaneously in multiple threads. + do { + oldDynamicTop = Atomics_load(HEAP32, DYNAMICTOP_PTR>>2)|0; + newDynamicTop = oldDynamicTop + increment | 0; + // Asking to increase dynamic top to a too high value? In pthreads builds we cannot + // enlarge memory, so this needs to fail. + 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. + | (newDynamicTop|0) > (totalMemory|0)) { + abortOnCannotGrowMemory()|0; } - } + // Attempt to update the dynamic top to new value. Another thread may have beat this thread to the update, + // in which case we will need to start over by iterating the loop body again. + oldDynamicTopOnChange = Atomics_compareExchange(HEAP32, DYNAMICTOP_PTR>>2, oldDynamicTop|0, newDynamicTop|0)|0; + } while((oldDynamicTopOnChange|0) != (oldDynamicTop|0)); return oldDynamicTop|0; } function _bitshift64Shl(low, high, bits) { @@ -27919,25 +34290,43 @@ var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glG 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_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 }; + return { _emscripten_sync_run_in_main_thread_3: _emscripten_sync_run_in_main_thread_3, _roundf: _roundf, _bitshift64Shl: _bitshift64Shl, _emscripten_atomic_load_f32: _emscripten_atomic_load_f32, ___uremdi3: ___uremdi3, ___udivdi3: ___udivdi3, _emscripten_atomic_xor_u64: _emscripten_atomic_xor_u64, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _emscripten_atomic_and_u64: _emscripten_atomic_and_u64, _emscripten_sync_run_in_main_thread: _emscripten_sync_run_in_main_thread, _emscripten_sync_run_in_main_thread_4: _emscripten_sync_run_in_main_thread_4, _emscripten_sync_run_in_main_thread_5: _emscripten_sync_run_in_main_thread_5, _emscripten_sync_run_in_main_thread_6: _emscripten_sync_run_in_main_thread_6, _emscripten_sync_run_in_main_thread_7: _emscripten_sync_run_in_main_thread_7, _emscripten_sync_run_in_main_thread_0: _emscripten_sync_run_in_main_thread_0, _emscripten_sync_run_in_main_thread_1: _emscripten_sync_run_in_main_thread_1, _emscripten_sync_run_in_main_thread_2: _emscripten_sync_run_in_main_thread_2, __emscripten_atomic_fetch_and_sub_u64: __emscripten_atomic_fetch_and_sub_u64, _emscripten_atomic_exchange_u32: _emscripten_atomic_exchange_u32, _fflush: _fflush, _emscripten_set_current_thread_status: _emscripten_set_current_thread_status, _emscripten_atomic_cas_u64: _emscripten_atomic_cas_u64, _memset: _memset, _emscripten_atomic_sub_u64: _emscripten_atomic_sub_u64, _emscripten_sync_run_in_main_thread_xprintf_varargs: _emscripten_sync_run_in_main_thread_xprintf_varargs, _i64Subtract: _i64Subtract, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, __emscripten_atomic_fetch_and_and_u64: __emscripten_atomic_fetch_and_and_u64, _emscripten_atomic_add_u64: _emscripten_atomic_add_u64, _emscripten_atomic_store_f64: _emscripten_atomic_store_f64, ___muldsi3: ___muldsi3, __emscripten_atomic_fetch_and_xor_u64: __emscripten_atomic_fetch_and_xor_u64, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_atomic_store_u64: _emscripten_atomic_store_u64, _emscripten_atomic_load_f64: _emscripten_atomic_load_f64, _emscripten_get_global_libc: _emscripten_get_global_libc, __emscripten_atomic_fetch_and_add_u64: __emscripten_atomic_fetch_and_add_u64, __emscripten_atomic_fetch_and_or_u64: __emscripten_atomic_fetch_and_or_u64, _emscripten_GetProcAddress: _emscripten_GetProcAddress, _emscripten_async_run_in_main_thread: _emscripten_async_run_in_main_thread, ___errno_location: ___errno_location, _main: _main, _emscripten_main_thread_process_queued_calls: _emscripten_main_thread_process_queued_calls, _emscripten_atomic_load_u64: _emscripten_atomic_load_u64, _free: _free, _emscripten_atomic_store_f32: _emscripten_atomic_store_f32, _emscripten_atomic_exchange_u64: _emscripten_atomic_exchange_u64, _memmove: _memmove, ___pthread_tsd_run_dtors: ___pthread_tsd_run_dtors, _malloc: _malloc, _memcpy: _memcpy, _emscripten_conditional_set_current_thread_status: _emscripten_conditional_set_current_thread_status, _sbrk: _sbrk, _emscripten_atomic_or_u64: _emscripten_atomic_or_u64, _strstr: _strstr, ___emscripten_pthread_data_constructor: ___emscripten_pthread_data_constructor, 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___emscripten_atomic_fetch_and_xor_u64 = asm["__emscripten_atomic_fetch_and_xor_u64"]; asm["__emscripten_atomic_fetch_and_xor_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_xor_u64.apply(null, arguments); +}; + 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() { +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__main.apply(null, arguments); +return real__bitshift64Shl.apply(null, arguments); +}; + +var real__emscripten_atomic_load_f32 = asm["_emscripten_atomic_load_f32"]; asm["_emscripten_atomic_load_f32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_load_f32.apply(null, arguments); +}; + +var real____emscripten_pthread_data_constructor = asm["___emscripten_pthread_data_constructor"]; asm["___emscripten_pthread_data_constructor"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_pthread_data_constructor.apply(null, arguments); }; var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { @@ -27946,16 +34335,22 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real_stackSave.apply(null, arguments); }; -var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { +var real__emscripten_atomic_xor_u64 = asm["_emscripten_atomic_xor_u64"]; asm["_emscripten_atomic_xor_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_xor_u64.apply(null, arguments); }; -var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { +var real__emscripten_atomic_load_u64 = asm["_emscripten_atomic_load_u64"]; asm["_emscripten_atomic_load_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_load_u64.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__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { @@ -27964,10 +34359,76 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real__bitshift64Lshr.apply(null, arguments); }; -var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { +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__bitshift64Shl.apply(null, arguments); +return real_getTempRet0.apply(null, arguments); +}; + +var real__emscripten_atomic_and_u64 = asm["_emscripten_atomic_and_u64"]; asm["_emscripten_atomic_and_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread = asm["_emscripten_sync_run_in_main_thread"]; asm["_emscripten_sync_run_in_main_thread"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_4 = asm["_emscripten_sync_run_in_main_thread_4"]; asm["_emscripten_sync_run_in_main_thread_4"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_4.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_5 = asm["_emscripten_sync_run_in_main_thread_5"]; asm["_emscripten_sync_run_in_main_thread_5"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_5.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_6 = asm["_emscripten_sync_run_in_main_thread_6"]; asm["_emscripten_sync_run_in_main_thread_6"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_6.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_7 = asm["_emscripten_sync_run_in_main_thread_7"]; asm["_emscripten_sync_run_in_main_thread_7"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_7.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_0 = asm["_emscripten_sync_run_in_main_thread_0"]; asm["_emscripten_sync_run_in_main_thread_0"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_0.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_1 = asm["_emscripten_sync_run_in_main_thread_1"]; asm["_emscripten_sync_run_in_main_thread_1"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_1.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_2 = asm["_emscripten_sync_run_in_main_thread_2"]; asm["_emscripten_sync_run_in_main_thread_2"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_2.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_sub_u64 = asm["__emscripten_atomic_fetch_and_sub_u64"]; asm["__emscripten_atomic_fetch_and_sub_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_sub_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_exchange_u32 = asm["_emscripten_atomic_exchange_u32"]; asm["_emscripten_atomic_exchange_u32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_exchange_u32.apply(null, arguments); }; var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { @@ -27976,22 +34437,46 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real__fflush.apply(null, arguments); }; +var real__emscripten_set_current_thread_status = asm["_emscripten_set_current_thread_status"]; asm["_emscripten_set_current_thread_status"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_set_current_thread_status.apply(null, arguments); +}; + +var real__emscripten_atomic_cas_u64 = asm["_emscripten_atomic_cas_u64"]; asm["_emscripten_atomic_cas_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_cas_u64.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() { +var real__emscripten_atomic_sub_u64 = asm["_emscripten_atomic_sub_u64"]; asm["_emscripten_atomic_sub_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_sub_u64.apply(null, arguments); }; -var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { +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__llvm_bswap_i32.apply(null, arguments); +return real__main.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_xprintf_varargs = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_xprintf_varargs.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____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() { @@ -28000,6 +34485,18 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real____muldi3.apply(null, arguments); }; +var real___emscripten_atomic_fetch_and_and_u64 = asm["__emscripten_atomic_fetch_and_and_u64"]; asm["__emscripten_atomic_fetch_and_and_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_3 = asm["_emscripten_sync_run_in_main_thread_3"]; asm["_emscripten_sync_run_in_main_thread_3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_3.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)'); @@ -28018,12 +34515,6 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a 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)'); @@ -28036,28 +34527,52 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real__i64Add.apply(null, arguments); }; +var real__emscripten_atomic_store_u64 = asm["_emscripten_atomic_store_u64"]; asm["_emscripten_atomic_store_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_store_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_load_f64 = asm["_emscripten_atomic_load_f64"]; asm["_emscripten_atomic_load_f64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_load_f64.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_atomic_fetch_and_add_u64 = asm["__emscripten_atomic_fetch_and_add_u64"]; asm["__emscripten_atomic_fetch_and_add_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_add_u64.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_or_u64 = asm["__emscripten_atomic_fetch_and_or_u64"]; asm["__emscripten_atomic_fetch_and_or_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_or_u64.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() { +var real__emscripten_async_run_in_main_thread = asm["_emscripten_async_run_in_main_thread"]; asm["_emscripten_async_run_in_main_thread"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_async_run_in_main_thread.apply(null, arguments); }; -var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { +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____errno_location.apply(null, arguments); +return real__llvm_bswap_i32.apply(null, arguments); }; var real____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = function() { @@ -28066,28 +34581,52 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real____muldsi3.apply(null, arguments); }; +var real__emscripten_main_thread_process_queued_calls = asm["_emscripten_main_thread_process_queued_calls"]; asm["_emscripten_main_thread_process_queued_calls"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_main_thread_process_queued_calls.apply(null, arguments); +}; + +var real__emscripten_atomic_add_u64 = asm["_emscripten_atomic_add_u64"]; asm["_emscripten_atomic_add_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_add_u64.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() { +var real__emscripten_atomic_store_f32 = asm["_emscripten_atomic_store_f32"]; asm["_emscripten_atomic_store_f32"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_store_f32.apply(null, arguments); }; -var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { +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__memmove.apply(null, arguments); +return real_setThrew.apply(null, arguments); }; -var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { +var real__emscripten_atomic_exchange_u64 = asm["_emscripten_atomic_exchange_u64"]; asm["_emscripten_atomic_exchange_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_exchange_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_store_f64 = asm["_emscripten_atomic_store_f64"]; asm["_emscripten_atomic_store_f64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_store_f64.apply(null, arguments); +}; + +var real____pthread_tsd_run_dtors = asm["___pthread_tsd_run_dtors"]; asm["___pthread_tsd_run_dtors"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____pthread_tsd_run_dtors.apply(null, arguments); }; var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { @@ -28096,43 +34635,120 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real_stackRestore.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__malloc = asm["_malloc"]; asm["_malloc"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); return real__malloc.apply(null, arguments); }; + +var real_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__emscripten_conditional_set_current_thread_status = asm["_emscripten_conditional_set_current_thread_status"]; asm["_emscripten_conditional_set_current_thread_status"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_conditional_set_current_thread_status.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__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__emscripten_atomic_or_u64 = asm["_emscripten_atomic_or_u64"]; asm["_emscripten_atomic_or_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_or_u64.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 __emscripten_atomic_fetch_and_xor_u64 = Module["__emscripten_atomic_fetch_and_xor_u64"] = asm["__emscripten_atomic_fetch_and_xor_u64"]; var _roundf = Module["_roundf"] = asm["_roundf"]; -var _main = Module["_main"] = asm["_main"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _emscripten_atomic_load_f32 = Module["_emscripten_atomic_load_f32"] = asm["_emscripten_atomic_load_f32"]; +var ___emscripten_pthread_data_constructor = Module["___emscripten_pthread_data_constructor"] = asm["___emscripten_pthread_data_constructor"]; 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 _emscripten_atomic_xor_u64 = Module["_emscripten_atomic_xor_u64"] = asm["_emscripten_atomic_xor_u64"]; +var _emscripten_atomic_load_u64 = Module["_emscripten_atomic_load_u64"] = asm["_emscripten_atomic_load_u64"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _emscripten_atomic_and_u64 = Module["_emscripten_atomic_and_u64"] = asm["_emscripten_atomic_and_u64"]; +var _emscripten_sync_run_in_main_thread = Module["_emscripten_sync_run_in_main_thread"] = asm["_emscripten_sync_run_in_main_thread"]; +var _emscripten_sync_run_in_main_thread_4 = Module["_emscripten_sync_run_in_main_thread_4"] = asm["_emscripten_sync_run_in_main_thread_4"]; +var _emscripten_sync_run_in_main_thread_5 = Module["_emscripten_sync_run_in_main_thread_5"] = asm["_emscripten_sync_run_in_main_thread_5"]; +var _emscripten_sync_run_in_main_thread_6 = Module["_emscripten_sync_run_in_main_thread_6"] = asm["_emscripten_sync_run_in_main_thread_6"]; +var _emscripten_sync_run_in_main_thread_7 = Module["_emscripten_sync_run_in_main_thread_7"] = asm["_emscripten_sync_run_in_main_thread_7"]; +var _emscripten_sync_run_in_main_thread_0 = Module["_emscripten_sync_run_in_main_thread_0"] = asm["_emscripten_sync_run_in_main_thread_0"]; +var _emscripten_sync_run_in_main_thread_1 = Module["_emscripten_sync_run_in_main_thread_1"] = asm["_emscripten_sync_run_in_main_thread_1"]; +var _emscripten_sync_run_in_main_thread_2 = Module["_emscripten_sync_run_in_main_thread_2"] = asm["_emscripten_sync_run_in_main_thread_2"]; +var __emscripten_atomic_fetch_and_sub_u64 = Module["__emscripten_atomic_fetch_and_sub_u64"] = asm["__emscripten_atomic_fetch_and_sub_u64"]; +var _emscripten_atomic_exchange_u32 = Module["_emscripten_atomic_exchange_u32"] = asm["_emscripten_atomic_exchange_u32"]; var _fflush = Module["_fflush"] = asm["_fflush"]; +var _emscripten_set_current_thread_status = Module["_emscripten_set_current_thread_status"] = asm["_emscripten_set_current_thread_status"]; +var _emscripten_atomic_cas_u64 = Module["_emscripten_atomic_cas_u64"] = asm["_emscripten_atomic_cas_u64"]; var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; -var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _emscripten_atomic_sub_u64 = Module["_emscripten_atomic_sub_u64"] = asm["_emscripten_atomic_sub_u64"]; +var _main = Module["_main"] = asm["_main"]; +var _emscripten_sync_run_in_main_thread_xprintf_varargs = Module["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var __emscripten_atomic_fetch_and_and_u64 = Module["__emscripten_atomic_fetch_and_and_u64"] = asm["__emscripten_atomic_fetch_and_and_u64"]; +var _emscripten_sync_run_in_main_thread_3 = Module["_emscripten_sync_run_in_main_thread_3"] = asm["_emscripten_sync_run_in_main_thread_3"]; 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 _memset = Module["_memset"] = asm["_memset"]; var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_atomic_store_u64 = Module["_emscripten_atomic_store_u64"] = asm["_emscripten_atomic_store_u64"]; +var _emscripten_atomic_load_f64 = Module["_emscripten_atomic_load_f64"] = asm["_emscripten_atomic_load_f64"]; var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var __emscripten_atomic_fetch_and_add_u64 = Module["__emscripten_atomic_fetch_and_add_u64"] = asm["__emscripten_atomic_fetch_and_add_u64"]; +var __emscripten_atomic_fetch_and_or_u64 = Module["__emscripten_atomic_fetch_and_or_u64"] = asm["__emscripten_atomic_fetch_and_or_u64"]; 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 _emscripten_async_run_in_main_thread = Module["_emscripten_async_run_in_main_thread"] = asm["_emscripten_async_run_in_main_thread"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = asm["_emscripten_main_thread_process_queued_calls"]; +var _emscripten_atomic_add_u64 = Module["_emscripten_atomic_add_u64"] = asm["_emscripten_atomic_add_u64"]; var _free = Module["_free"] = asm["_free"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var _emscripten_atomic_store_f32 = Module["_emscripten_atomic_store_f32"] = asm["_emscripten_atomic_store_f32"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _emscripten_atomic_exchange_u64 = Module["_emscripten_atomic_exchange_u64"] = asm["_emscripten_atomic_exchange_u64"]; +var _emscripten_atomic_store_f64 = Module["_emscripten_atomic_store_f64"] = asm["_emscripten_atomic_store_f64"]; +var ___pthread_tsd_run_dtors = Module["___pthread_tsd_run_dtors"] = asm["___pthread_tsd_run_dtors"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _emscripten_conditional_set_current_thread_status = Module["_emscripten_conditional_set_current_thread_status"] = asm["_emscripten_conditional_set_current_thread_status"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; var _memmove = Module["_memmove"] = asm["_memmove"]; +var _emscripten_atomic_or_u64 = Module["_emscripten_atomic_or_u64"] = asm["_emscripten_atomic_or_u64"]; 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"]; @@ -28314,6 +34930,7 @@ function exit(status, implicit) { 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 { + PThread.terminateAllThreads(); ABORT = true; EXITSTATUS = status; @@ -28334,6 +34951,7 @@ Module['exit'] = Module.exit = exit; var abortDecorators = []; function abort(what) { + if (ENVIRONMENT_IS_PTHREAD) console.error('Pthread aborting at ' + new Error().stack); if (what !== undefined) { Module.print(what); Module.printErr(what); @@ -28373,7 +34991,7 @@ if (Module['noInitialRun']) { } -run(); +if (!ENVIRONMENT_IS_PTHREAD) run(); // {{POST_RUN_ADDITIONS}} diff --git a/docs/examples/web/physac/physics_restitution.c b/docs/examples/web/physac/physics_restitution.c index 534d125e..70d0a14a 100644 --- a/docs/examples/web/physac/physics_restitution.c +++ b/docs/examples/web/physac/physics_restitution.c @@ -2,9 +2,11 @@ * * Physac - Physics restitution * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* 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) +* +* Use the following line to compile: * -* Use the following code to compile (-static -lpthread): * 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 * @@ -15,104 +17,140 @@ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "../src/physac.h" - +#include "physac.h" + +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +int screenWidth = 800; +int screenHeight = 450; + +// Physac logo drawing position +int logoX = 0; +int logoY = 15; + +PhysicsBody circleA; +PhysicsBody circleB; +PhysicsBody circleC; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame + +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- int main() { // Initialization //-------------------------------------------------------------------------------------- - int screenWidth = 800; - int screenHeight = 450; - SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Physics restitution"); - SetTargetFPS(60); // Physac logo drawing position - int logoX = screenWidth - MeasureText("Physac", 30) - 10; - int logoY = 15; + logoX = screenWidth - MeasureText("Physac", 30) - 10; // Initialize physics and default physics bodies InitPhysics(); - // Create floor rectangle physics body - PhysicsBody floor = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, screenWidth, 100, 10); - floor->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) - floor->restitution = 1; + // Create ground rectangle physics body + PhysicsBody ground = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight }, screenWidth, 100, 10); + ground->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) + ground->restitution = 1; // Create circles physics body - PhysicsBody circleA = CreatePhysicsBodyCircle((Vector2){ screenWidth*0.25f, screenHeight/2 }, 30, 10); + circleA = CreatePhysicsBodyCircle((Vector2){ screenWidth*0.25f, screenHeight/2 }, 30, 10); circleA->restitution = 0; - PhysicsBody circleB = CreatePhysicsBodyCircle((Vector2){ screenWidth*0.5f, screenHeight/2 }, 30, 10); + circleB = CreatePhysicsBodyCircle((Vector2){ screenWidth*0.5f, screenHeight/2 }, 30, 10); circleB->restitution = 0.5f; - PhysicsBody circleC = CreatePhysicsBodyCircle((Vector2){ screenWidth*0.75f, screenHeight/2 }, 30, 10); + circleC = CreatePhysicsBodyCircle((Vector2){ screenWidth*0.75f, screenHeight/2 }, 30, 10); circleC->restitution = 1; - //-------------------------------------------------------------------------------------- +#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 { - // Update - //---------------------------------------------------------------------------------- - if (IsKeyPressed('R')) // Reset physics input - { - // Reset circles physics bodies position and velocity - circleA->position = (Vector2){ screenWidth*0.25f, screenHeight/2 }; - circleA->velocity = (Vector2){ 0, 0 }; - circleB->position = (Vector2){ screenWidth*0.5f, screenHeight/2 }; - circleB->velocity = (Vector2){ 0, 0 }; - circleC->position = (Vector2){ screenWidth*0.75f, screenHeight/2 }; - circleC->velocity = (Vector2){ 0, 0 }; - } - //---------------------------------------------------------------------------------- + UpdateDrawFrame(); + } +#endif - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); + // De-Initialization + //-------------------------------------------------------------------------------------- + ClosePhysics(); // Uninitialize physics - ClearBackground(BLACK); + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- - DrawFPS(screenWidth - 90, screenHeight - 30); + return 0; +} - // Draw created physics bodies - int bodiesCount = GetPhysicsBodiesCount(); - for (int i = 0; i < bodiesCount; i++) - { - PhysicsBody body = GetPhysicsBody(i); +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + if (IsKeyPressed('R')) // Reset physics input + { + // Reset circles physics bodies position and velocity + circleA->position = (Vector2){ screenWidth*0.25f, screenHeight/2 }; + circleA->velocity = (Vector2){ 0, 0 }; + circleB->position = (Vector2){ screenWidth*0.5f, screenHeight/2 }; + circleB->velocity = (Vector2){ 0, 0 }; + circleC->position = (Vector2){ screenWidth*0.75f, screenHeight/2 }; + circleC->velocity = (Vector2){ 0, 0 }; + } + //---------------------------------------------------------------------------------- - int vertexCount = GetPhysicsShapeVerticesCount(i); - for (int j = 0; j < vertexCount; j++) - { - // Get physics bodies shape vertices to draw lines - // Note: GetPhysicsShapeVertex() already calculates rotation transformations - Vector2 vertexA = GetPhysicsShapeVertex(body, j); + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); - int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape - Vector2 vertexB = GetPhysicsShapeVertex(body, jj); + ClearBackground(BLACK); - DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions - } - } + DrawFPS(screenWidth - 90, screenHeight - 30); - DrawText("Restitution amount", (screenWidth - MeasureText("Restitution amount", 30))/2, 75, 30, WHITE); - DrawText("0", circleA->position.x - MeasureText("0", 20)/2, circleA->position.y - 7, 20, WHITE); - DrawText("0.5", circleB->position.x - MeasureText("0.5", 20)/2, circleB->position.y - 7, 20, WHITE); - DrawText("1", circleC->position.x - MeasureText("1", 20)/2, circleC->position.y - 7, 20, WHITE); + // Draw created physics bodies + int bodiesCount = GetPhysicsBodiesCount(); + for (int i = 0; i < bodiesCount; i++) + { + PhysicsBody body = GetPhysicsBody(i); - DrawText("Press 'R' to reset example", 10, 10, 10, WHITE); + int vertexCount = GetPhysicsShapeVerticesCount(i); + for (int j = 0; j < vertexCount; j++) + { + // Get physics bodies shape vertices to draw lines + // Note: GetPhysicsShapeVertex() already calculates rotation transformations + Vector2 vertexA = GetPhysicsShapeVertex(body, j); - DrawText("Physac", logoX, logoY, 30, WHITE); - DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); + int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape + Vector2 vertexB = GetPhysicsShapeVertex(body, jj); - EndDrawing(); - //---------------------------------------------------------------------------------- - } + DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions + } + } - // De-Initialization - //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- + DrawText("Restitution amount", (screenWidth - MeasureText("Restitution amount", 30))/2, 75, 30, WHITE); + DrawText("0", circleA->position.x - MeasureText("0", 20)/2, circleA->position.y - 7, 20, WHITE); + DrawText("0.5", circleB->position.x - MeasureText("0.5", 20)/2, circleB->position.y - 7, 20, WHITE); + DrawText("1", circleC->position.x - MeasureText("1", 20)/2, circleC->position.y - 7, 20, WHITE); - return 0; + DrawText("Press 'R' to reset example", 10, 10, 10, WHITE); + + DrawText("Physac", logoX, logoY, 30, WHITE); + DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); + + EndDrawing(); + //---------------------------------------------------------------------------------- } diff --git a/docs/examples/web/physac/physics_restitution.js b/docs/examples/web/physac/physics_restitution.js index b4e626d1..49587f81 100644 --- a/docs/examples/web/physac/physics_restitution.js +++ b/docs/examples/web/physac/physics_restitution.js @@ -59,6 +59,11 @@ if (Module['ENVIRONMENT']) { ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; } +var ENVIRONMENT_IS_PTHREAD; +if (!ENVIRONMENT_IS_PTHREAD) ENVIRONMENT_IS_PTHREAD = false; // ENVIRONMENT_IS_PTHREAD=true will have been preset in pthread-main.js. Make it false in the main runtime thread. +var PthreadWorkerInit; // Collects together variables that are needed at initialization time for the web workers that host pthreads. +if (!ENVIRONMENT_IS_PTHREAD) PthreadWorkerInit = {}; +var currentScriptUrl = ENVIRONMENT_IS_WORKER ? undefined : document.currentScript.src; if (ENVIRONMENT_IS_NODE) { // Expose functionality in the same simple way that the shells work @@ -1178,9 +1183,14 @@ 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 +if (!ENVIRONMENT_IS_PTHREAD) { // Pthreads have already initialized these variables in src/pthread-main.js, where they were passed to the thread worker at startup time STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; staticSealed = false; +} +if (ENVIRONMENT_IS_PTHREAD) { + staticSealed = true; // The static memory area has been initialized already in the main thread, pthreads skip this. +} // Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. function writeStackCookie() { @@ -1207,7 +1217,7 @@ function abortOnCannotGrowMemory() { function enlargeMemory() { - abortOnCannotGrowMemory(); + abort('Cannot enlarge memory arrays, since compiling with pthreads support enabled (-s USE_PTHREADS=1).'); } @@ -1221,27 +1231,69 @@ assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' 'JS engine does not provide full typed array support'); - -// Use a provided buffer, if there is one, or else allocate a new one -if (Module['buffer']) { - buffer = Module['buffer']; - assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); +if (typeof SharedArrayBuffer !== 'undefined') { + if (!ENVIRONMENT_IS_PTHREAD) buffer = new SharedArrayBuffer(TOTAL_MEMORY); + // Currently SharedArrayBuffer does not have a slice() operation, so polyfill it in. + // Adapted from https://github.com/ttaubert/node-arraybuffer-slice, (c) 2014 Tim Taubert + // arraybuffer-slice may be freely distributed under the MIT license. + (function (undefined) { + "use strict"; + function clamp(val, length) { + val = (val|0) || 0; + if (val < 0) return Math.max(val + length, 0); + return Math.min(val, length); + } + if (typeof SharedArrayBuffer !== 'undefined' && !SharedArrayBuffer.prototype.slice) { + SharedArrayBuffer.prototype.slice = function (from, to) { + var length = this.byteLength; + var begin = clamp(from, length); + var end = length; + if (to !== undefined) end = clamp(to, length); + if (begin > end) return new ArrayBuffer(0); + var num = end - begin; + var target = new ArrayBuffer(num); + var targetArray = new Uint8Array(target); + var sourceArray = new Uint8Array(this, begin, num); + targetArray.set(sourceArray); + return target; + }; + } + })(); } else { - // Use a WebAssembly memory where available - { - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - assert(buffer.byteLength === TOTAL_MEMORY); + if (!ENVIRONMENT_IS_PTHREAD) buffer = new ArrayBuffer(TOTAL_MEMORY); } updateGlobalBufferViews(); +if (typeof Atomics === 'undefined') { + // Polyfill singlethreaded atomics ops from http://lars-t-hansen.github.io/ecmascript_sharedmem/shmem.html#Atomics.add + // No thread-safety needed since we don't have multithreading support. + Atomics = {}; + Atomics['add'] = function(t, i, v) { var w = t[i]; t[i] += v; return w; } + Atomics['and'] = function(t, i, v) { var w = t[i]; t[i] &= v; return w; } + Atomics['compareExchange'] = function(t, i, e, r) { var w = t[i]; if (w == e) t[i] = r; return w; } + Atomics['exchange'] = function(t, i, v) { var w = t[i]; t[i] = v; return w; } + Atomics['wait'] = function(t, i, v, o) { if (t[i] != v) return 'not-equal'; else return 'timed-out'; } + Atomics['wake'] = function(t, i, c) { return 0; } + Atomics['wakeOrRequeue'] = function(t, i1, c, i2, v) { return 0; } + Atomics['isLockFree'] = function(s) { return true; } + Atomics['load'] = function(t, i) { return t[i]; } + Atomics['or'] = function(t, i, v) { var w = t[i]; t[i] |= v; return w; } + Atomics['store'] = function(t, i, v) { t[i] = v; return v; } + Atomics['sub'] = function(t, i, v) { var w = t[i]; t[i] -= v; return w; } + Atomics['xor'] = function(t, i, v) { var w = t[i]; t[i] ^= v; return w; } +} + function getTotalMemory() { return TOTAL_MEMORY; } // Endianness check (note: assumes compiler arch was little-endian) +if (!ENVIRONMENT_IS_PTHREAD) { HEAP32[0] = 0x63736d65; /* 'emsc' */ +} else { + if (HEAP32[0] !== 0x63736d65) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; +} HEAP16[1] = 0x6373; if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; @@ -1285,8 +1337,10 @@ var __ATPOSTRUN__ = []; // functions called after the runtime has exited var runtimeInitialized = false; var runtimeExited = false; +if (ENVIRONMENT_IS_PTHREAD) runtimeInitialized = true; // The runtime is hosted in the main thread, and bits shared to pthreads via SharedArrayBuffer. No need to init again in pthread. function preRun() { + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. // compatibility - merge in anything from Module['preRun'] at this time if (Module['preRun']) { if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; @@ -1299,6 +1353,7 @@ function preRun() { function ensureInitRuntime() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. if (runtimeInitialized) return; runtimeInitialized = true; callRuntimeCallbacks(__ATINIT__); @@ -1306,17 +1361,20 @@ function ensureInitRuntime() { function preMain() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. callRuntimeCallbacks(__ATMAIN__); } function exitRuntime() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. callRuntimeCallbacks(__ATEXIT__); runtimeExited = true; } function postRun() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. // compatibility - merge in anything from Module['postRun'] at this time if (Module['postRun']) { if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; @@ -1435,6 +1493,18 @@ function reSign(value, bits, ignore) { return value; } +// Atomics.exchange is not yet implemented in the spec, so polyfill that in via compareExchange in the meanwhile. +// TODO: Keep an eye out for the opportunity to remove this once Atomics.exchange is available. +if (typeof Atomics !== 'undefined' && !Atomics['exchange']) { + Atomics['exchange'] = function(heap, index, val) { + var oldVal, oldVal2; + do { + oldVal = Atomics['load'](heap, index); + oldVal2 = Atomics['compareExchange'](heap, index, oldVal, val); + } while(oldVal != oldVal2); + return oldVal; + } +} // 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) { @@ -1504,6 +1574,9 @@ function getUniqueRunDependency(id) { } function addRunDependency(id) { + // We should never get here in pthreads (could no-op this out if called in pthreads, but that might indicate a bug in caller side, + // so good to be very explicit) + assert(!ENVIRONMENT_IS_PTHREAD); runDependencies++; if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); @@ -1572,52 +1645,43 @@ 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)]); } }]; +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }, + function() { postMessage({ cmd: 'processQueuedMainThreadWork' }) }]; function _emscripten_asm_const_iii(code, a0, a1) { return ASM_CONSTS[code](a0, a1); } +function _emscripten_asm_const_v(code) { + return ASM_CONSTS[code](); +} + STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 36032; - /* global initializers */ __ATINIT__.push(); +STATICTOP = STATIC_BASE + 38352; + /* global initializers */ if (!ENVIRONMENT_IS_PTHREAD) __ATINIT__.push({ func: function() { ___emscripten_pthread_data_constructor() } }); -/* 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); +if (!ENVIRONMENT_IS_PTHREAD) { +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,15,0,0,0,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,180,11,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,199,145,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,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,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,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], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([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,101,109,115,99,114,105,112,116,101,110,95,105,115,95,109,97,105,110,95,114,117,110,116,105,109,101,95,116,104,114,101,97,100,40,41,32,38,38,32,34,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,32,109,117,115,116,32,98,101,32,99,97,108,108,101,100,32,102,114,111,109,32,116,104,101,32,109,97,105,110,32,116,104,114,101,97,100,33,34,0,67,58,92,101,109,115,100,107,92,101,109,115,99,114,105,112,116,101,110,92,49,46,51,55,46,57,92,115,121,115,116,101,109,92,108,105,98,92,112,116,104,114,101,97,100,92,108,105,98,114,97,114,121,95,112,116,104,114,101,97,100,46,99,0,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,0,48,32,38,38,32,34,73,110,118,97,108,105,100,32,69,109,115,99,114,105,112,116,101,110,32,112,116,104,114,101,97,100,32,95,100,111,95,99,97,108,108,32,111,112,99,111,100,101,33,34,0,95,100,111,95,99,97,108,108,0,99,97,108,108,0,101,109,115,99,114,105,112,116,101,110,95,97,115,121,110,99,95,114,117,110,95,105,110,95,109,97,105,110,95,116,104,114,101,97,100,0,112,111,115,116,77,101,115,115,97,103,101,40,123,32,99,109,100,58,32,39,112,114,111,99,101,115,115,81,117,101,117,101,100,77,97,105,110,84,104,114,101,97,100,87,111,114,107,39,32,125,41,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +} /* no memory initializer */ -var tempDoublePtr = STATICTOP; STATICTOP += 16; +var tempDoublePtr; + +if (!ENVIRONMENT_IS_PTHREAD) tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); assert(tempDoublePtr % 8 == 0); @@ -1880,6 +1944,8 @@ function copyTempDouble(ptr) { function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + function ___pthread_setcancelstate() { return 0 } + function _emscripten_get_now() { abort() } @@ -3360,3466 +3426,7549 @@ function copyTempDouble(ptr) { } - 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; }); + 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--; + } } - },registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up--; up) { + parts.unshift('..'); + } } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); + 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 } - 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; + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; } - },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; + // 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; } - return true; + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); } - // 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; + 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; } } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); + 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) {} + } - 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; + 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); } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; + 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 + } + }; } - 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); + 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; } - },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--); - } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; } - },_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; + 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. } - - 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--); - } - } + 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. } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); + + 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; } - 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(); + // 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. } - }; - - 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 ); + node.usedBytes = newSize; + return; } - 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(); + // 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; + } } - }; - 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(); + // 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. + } } - }; - // 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(); + 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 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]; + 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); } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); + } catch (e) { + return callback(e); } - 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 (!req) { + return callback("Unable to connect to IndexedDB"); } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } + var fileStore; - 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; + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); } - 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(); + + if (!fileStore.indexNames.contains('timestamp')) { + fileStore.createIndex('timestamp', 'timestamp', { unique: false }); } }; + req.onsuccess = function() { + db = req.result; - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + // add to the cache + IDBFS.dbs[name] = db; + callback(null, db); }; - 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; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },getLocalSet:function (mount, callback) { + var entries = {}; - 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(); + function isRealDir(p) { + return p !== '.' && p !== '..'; + }; + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p); } }; - 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 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 }; } - 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; + return callback(null, { type: 'local', entries: entries }); + },getRemoteSet:function (mount, callback) { + var entries = {}; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); - if (shouldCancel) { + 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 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; + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index('timestamp'); - 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; + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; + if (!cursor) { + return callback(null, { type: 'remote', db: db, entries: entries }); + } - 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"]; + entries[cursor.primaryKey] = { timestamp: cursor.key }; - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } + cursor.continue(); + }; + }); + },loadLocalEntry:function (path, callback) { + var stat, node; - 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 ); + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path); + } catch (e) { + return callback(e); } - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + 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 { - target = JSEvents.findEventTarget(target); + 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')); + } - var handlerFunc = function(event) { - var e = event || window.event; + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp); + } catch (e) { + return callback(e); + } - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + callback(null); + },removeLocalEntry:function (path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); + if (FS.isDir(stat.mode)) { + FS.rmdir(path); + } else if (FS.isFile(stat.mode)) { + FS.unlink(path); } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; + } catch (e) { + return callback(e); } - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + 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(); }; - 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); - } + },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 handlerFunc = function(event) { - var e = event || window.event; + 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++; + } + }); - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + if (!total) { + return callback(null); + } - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); + 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); } }; - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + transaction.onerror = function(e) { + done(this.error); + e.preventDefault(); }; - 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; + // 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 { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; + IDBFS.loadLocalEntry(path, function (err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done); + }); } - } - - // 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; + // 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 { - return -3; + 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); } - - if (strategy.canvasResizedCallback) { - Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + 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 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 ); + return stat.mode; + },realPath:function (node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + 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 { - target = JSEvents.findEventTarget(target); + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } - - 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(); + },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]); + } + } } - }; - - 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(); + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } - }; - 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 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; } - 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 ); + function base(path) { + var parts = path.split('/'); + return parts[parts.length-1]; } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + // 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 { - target = JSEvents.findEventTarget(target); + 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 handlerFunc = function(event) { - var e = event || window.event; + var _stdin; if (ENVIRONMENT_IS_PTHREAD) _stdin = PthreadWorkerInit._stdin; else PthreadWorkerInit._stdin = _stdin = allocate(1, "i32*", ALLOC_STATIC); - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + var _stdout; if (ENVIRONMENT_IS_PTHREAD) _stdout = PthreadWorkerInit._stdout; else PthreadWorkerInit._stdout = _stdout = allocate(1, "i32*", ALLOC_STATIC); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; + var _stderr; if (ENVIRONMENT_IS_PTHREAD) _stderr = PthreadWorkerInit._stderr; else PthreadWorkerInit._stderr = _stderr = allocate(1, "i32*", ALLOC_STATIC);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 || {}; - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; + } } - target = JSEvents.findEventTarget(target); + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } - var handlerFunc = function(event) { - var e = event || window.event; + // split the path + var parts = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), false); - 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; + // 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; } - - 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; + + 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; } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; + } - if (++numTouches >= 32) { - break; + // 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); + } } } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + } - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); - if (shouldCancel) { - e.preventDefault(); + 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; - 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 < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; } - 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]; + 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; } } - 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; - } + },lookupNode:function (parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent); } - 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 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; + }; - var handlerFunc = function(event) { - var e = event || window.event; + 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); } + } + }); + } - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); - if (shouldCancel) { - e.preventDefault(); + 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); + } - 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; + return mounts; + },syncfs:function (populate, callback) { + if (typeof(populate) === 'function') { + callback = populate; + populate = false; + } - var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); + 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 (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; + if (++completed >= mounts.length) { + doCallback(null); } }; - 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 ); - } + // 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; - var handlerFunc = function(event) { - var e = event || window.event; + if (root && FS.root) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + mountpoint = lookup.path; // use the absolute path + node = lookup.node; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); - if (shouldCancel) { - e.preventDefault(); + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); } - }; - 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']; + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } } - var handlerFunc = function(event) { - var e = event || window.event; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] }; - 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; + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; - // 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; + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } - // 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; + return mountRoot; + },unmount:function (mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - 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); - } - + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } - var _emscripten_GetProcAddress=undefined; - Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); - 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; + 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); } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err); } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); } - - 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; + 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; } } - } - }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)]; + },mkdev:function (path, mode, dev) { + if (typeof(dev) === 'undefined') { + dev = mode; + mode = 438 /* 0666 */; } - } 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)]; + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:function (oldpath, newpath) { + if (!PATH.resolve(oldpath)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); } - } 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); + 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); } - }; - } - 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; + 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'); + } - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - return JSEvents.lastGamepadState.length; - } - - function _emscripten_glUniform4iv(location, count, value) { + // 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); - 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) { + FS.mount(MEMFS, {}, '/'); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); - 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)]; + 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); } - } 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; + },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 { - return -2; + ___setErrNo(ret.error); + return null; } - } - - 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) } + },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) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 54, 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_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); } - function _emscripten_glDeleteVertexArrays(n, vaos) { + function _glDeleteTextures(n, textures) { for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; + 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 _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_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); } - function _emscripten_glGetTexParameteriv(target, pname, params) { + 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; } - 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); + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); } - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); } - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); } - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - 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)]; + 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; }); } - } 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) } - - + },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']; - 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); - } - + 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; - 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; + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; } - } 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; + // 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; } } - } - }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() {} - + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); - - 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) { + 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); - 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)]; + 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; } - } 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]; + 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(); + } + }; - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; + 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(); + } + }; - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; + 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 (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 (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } - 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 + ')'; + 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; } - 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]); + 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(); } - 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 + ')'; + }; + + 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(); } - 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 + 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(); } - 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; + 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; - 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; + 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); } - 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; + 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 ); } - 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) } - + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(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["___uremdi3"] = ___uremdi3; - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - + var handlerFunc = function(event) { + var e = event || window.event; - 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']); - } + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - 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 shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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; + 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 ); + } - 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 (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } + var handlerFunc = function(event) { + var e = event || window.event; - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - 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); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); } - } - 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); + }; + + 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; } } - 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); + // 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. - 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) { + 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; } } - 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; + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); } - 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); - } - + 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 ); + } - 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) { + 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; - 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) { + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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 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 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. + var handlerFunc = function(event) { + var e = event || window.event; - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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); + 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 ); + } - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _pthread_create() { - return 11; - } - - function _emscripten_glDrawArrays(mode, first, count) { + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } - GLctx.drawArrays(mode, first, count); + var handlerFunc = function(event) { + var e = event || window.event; - } - - 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); + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - 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; + 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 ); } - 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; + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glVertexAttrib4fv(index, v) { + 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; - 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) { + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - var bufArray = GL.tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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); + 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; } - - 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; + function _utime(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(12, path, times); + // int utime(const char *path, const struct utimbuf *times); + // http://pubs.opengroup.org/onlinepubs/009695399/basedefs/utime.h.html + var time; + if (times) { + // NOTE: We don't keep track of access timestamps. + var offset = 4; + time = HEAP32[(((times)+(offset))>>2)]; + time *= 1000; } else { - if (length) HEAP32[((length)>>2)]=0; + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; } } - - Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); - return 0; + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); } - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); + + + + var PROCINFO={ppid:1,pid:42,sid:42,pgid:42}; + + + var __pthread_ptr=0; + + var __pthread_is_main_browser_thread=0;function __register_pthread_ptr(pthreadPtr, isMainBrowserThread, isMainRuntimeThread) { + pthreadPtr = pthreadPtr|0; + isMainBrowserThread = isMainBrowserThread|0; + isMainRuntimeThread = isMainRuntimeThread|0; + __pthread_ptr = pthreadPtr; + __pthread_is_main_browser_thread = isMainBrowserThread; + __pthread_is_main_runtime_thread = isMainRuntimeThread; } - - 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; + + var _emscripten_main_thread_process_queued_calls=undefined;var PThread={MAIN_THREAD_ID:1,mainThreadInfo:{schedPolicy:0,schedPrio:0},unusedWorkerPool:[],runningWorkers:[],initMainThreadBlock:function () { + if (ENVIRONMENT_IS_PTHREAD) return undefined; + PThread.mainThreadBlock = allocate(244, "i32*", ALLOC_STATIC); + __register_pthread_ptr(PThread.mainThreadBlock, /*isMainBrowserThread=*/!ENVIRONMENT_IS_WORKER, /*isMainRuntimeThread=*/1); // Pass the thread address inside the asm.js scope to store it for fast access that avoids the need for a FFI out. + + for (var i = 0; i < 244/4; ++i) HEAPU32[PThread.mainThreadBlock/4+i] = 0; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((PThread.mainThreadBlock)+(24))>>2)]=PThread.mainThreadBlock; + + // Allocate memory for thread-local storage. + var tlsMemory = allocate(128 * 4, "i32*", ALLOC_STATIC); + for (var i = 0; i < 128; ++i) HEAPU32[tlsMemory/4+i] = 0; + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 52 ) >> 2, PThread.mainThreadBlock); // Main thread ID. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 56 ) >> 2, PROCINFO.pid); // Process ID. + + },pthreads:{},pthreadIdCounter:2,exitHandlers:null,setThreadStatus:function () {},runExitHandlers:function () { + if (PThread.exitHandlers !== null) { + while (PThread.exitHandlers.length > 0) { + PThread.exitHandlers.pop()(); + } + PThread.exitHandlers = null; + } + + // Call into the musl function that runs destructors of all thread-specific data. + if (ENVIRONMENT_IS_PTHREAD && threadInfoStruct) ___pthread_tsd_run_dtors(); + },threadExit:function (exitCode) { + var tb = _pthread_self(); + if (tb) { // If we haven't yet exited? + Atomics.store(HEAPU32, (tb + 4 ) >> 2, exitCode); + // When we publish this, the main thread is free to deallocate the thread object and we are done. + // Therefore set threadInfoStruct = 0; above to 'release' the object in this worker thread. + Atomics.store(HEAPU32, (tb + 0 ) >> 2, 1); + + // Disable all cancellation so that executing the cleanup handlers won't trigger another JS + // canceled exception to be thrown. + Atomics.store(HEAPU32, (tb + 72 ) >> 2, 1/*PTHREAD_CANCEL_DISABLE*/); + Atomics.store(HEAPU32, (tb + 76 ) >> 2, 0/*PTHREAD_CANCEL_DEFERRED*/); + PThread.runExitHandlers(); + + _emscripten_futex_wake(tb + 0, 2147483647); + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + threadInfoStruct = 0; + if (ENVIRONMENT_IS_PTHREAD) { + // This worker no longer owns any WebGL OffscreenCanvases, so transfer them back to parent thread. + var transferList = []; + + + postMessage({ cmd: 'exit' }); + } + } + },threadCancel:function () { + PThread.runExitHandlers(); + Atomics.store(HEAPU32, (threadInfoStruct + 4 ) >> 2, -1/*PTHREAD_CANCELED*/); + Atomics.store(HEAPU32, (threadInfoStruct + 0 ) >> 2, 1); // Mark the thread as no longer running. + _emscripten_futex_wake(threadInfoStruct + 0, 2147483647); // wake all threads + threadInfoStruct = selfThreadId = 0; // Not hosting a pthread anymore in this worker, reset the info structures to null. + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + postMessage({ cmd: 'cancelDone' }); + },terminateAllThreads:function () { + for (var t in PThread.pthreads) { + var pthread = PThread.pthreads[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.pthreads = {}; + for (var t in PThread.unusedWorkerPool) { + var pthread = PThread.unusedWorkerPool[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.unusedWorkerPool = []; + for (var t in PThread.runningWorkers) { + var pthread = PThread.runningWorkers[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.runningWorkers = []; + },freeThreadData:function (pthread) { + if (!pthread) return; + if (pthread.threadInfoStruct) { + var tlsMemory = HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]; + HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]=0; + _free(pthread.tlsMemory); + _free(pthread.threadInfoStruct); + } + pthread.threadInfoStruct = 0; + if (pthread.allocatedOwnStack && pthread.stackBase) _free(pthread.stackBase); + pthread.stackBase = 0; + if (pthread.worker) pthread.worker.pthread = null; + },receiveObjectTransfer:function (data) { + },allocateUnusedWorkers:function (numWorkers, onFinishedLoading) { + if (typeof SharedArrayBuffer === 'undefined') return; // No multithreading support, no-op. + Module['print']('Preallocating ' + numWorkers + ' workers for a pthread spawn pool.'); + + var numWorkersLoaded = 0; + for (var i = 0; i < numWorkers; ++i) { + var pthreadMainJs = 'pthread-main.js'; + // Allow HTML module to configure the location where the 'pthread-main.js' file will be loaded from, + // either via Module.locateFile() function, or via Module.pthreadMainPrefixURL string. If neither + // of these are passed, then the default URL 'pthread-main.js' relative to the main html file is loaded. + if (typeof Module['locateFile'] === 'function') pthreadMainJs = Module['locateFile'](pthreadMainJs); + else if (Module['pthreadMainPrefixURL']) pthreadMainJs = Module['pthreadMainPrefixURL'] + pthreadMainJs; + var worker = new Worker(pthreadMainJs); + + worker.onmessage = function(e) { + // If this message is intended to a recipient that is not the main thread, forward it to the target thread. + if (e.data.targetThread && e.data.targetThread != _pthread_self()) { + var thread = PThread.pthreads[e.data.targetThread]; + if (thread) { + thread.worker.postMessage(e.data, e.data.transferList); + } else { + console.error('Internal error! Worker sent a message "' + e.data.cmd + '" to target pthread ' + e.data.targetThread + ', but that thread no longer exists!'); + } + return; + } + + if (e.data.cmd === 'processQueuedMainThreadWork') { + // TODO: Must post message to main Emscripten thread in PROXY_TO_WORKER mode. + _emscripten_main_thread_process_queued_calls(); + } else if (e.data.cmd === 'spawnThread') { + __spawn_thread(e.data); + } else if (e.data.cmd === 'cleanupThread') { + __cleanup_thread(e.data.thread); + } else if (e.data.cmd === 'killThread') { + __kill_thread(e.data.thread); + } else if (e.data.cmd === 'cancelThread') { + __cancel_thread(e.data.thread); + } else if (e.data.cmd === 'loaded') { + ++numWorkersLoaded; + if (numWorkersLoaded === numWorkers && onFinishedLoading) { + onFinishedLoading(); + } + } else if (e.data.cmd === 'print') { + Module['print']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'printErr') { + Module['printErr']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'alert') { + alert('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'exit') { + // currently no-op + } else if (e.data.cmd === 'cancelDone') { + PThread.freeThreadData(worker.pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + // TODO: Free if detached. + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } else if (e.data.cmd === 'objectTransfer') { + PThread.receiveObjectTransfer(e.data); + } else { + Module['printErr']("worker sent an unknown command " + e.data.cmd); + } + }; + + worker.onerror = function(e) { + Module['printErr']('pthread sent an error! ' + e.filename + ':' + e.lineno + ': ' + e.message); + }; + + // Allocate tempDoublePtr for the worker. This is done here on the worker's behalf, since we may need to do this statically + // if the runtime has not been loaded yet, etc. - so we just use getMemory, which is main-thread only. + var tempDoublePtr = getMemory(8); // TODO: leaks. Cleanup after worker terminates. + + // Ask the new worker to load up the Emscripten-compiled page. This is a heavy operation. + worker.postMessage({ + cmd: 'load', + url: currentScriptUrl, + buffer: HEAPU8.buffer, + tempDoublePtr: tempDoublePtr, + TOTAL_MEMORY: TOTAL_MEMORY, + STATICTOP: STATICTOP, + DYNAMIC_BASE: DYNAMIC_BASE, + DYNAMICTOP_PTR: DYNAMICTOP_PTR, + PthreadWorkerInit: PthreadWorkerInit + }); + PThread.unusedWorkerPool.push(worker); + } + },getNewWorker:function () { + if (PThread.unusedWorkerPool.length == 0) PThread.allocateUnusedWorkers(1); + if (PThread.unusedWorkerPool.length > 0) return PThread.unusedWorkerPool.pop(); + else return null; + },busySpinWait:function (msecs) { + var t = performance.now() + msecs; + while(performance.now() < t) { + ; + } + }};var __pthread_is_main_runtime_thread=0;function _emscripten_is_main_runtime_thread() { + return __pthread_is_main_runtime_thread|0; // Semantically the same as testing "!ENVIRONMENT_IS_PTHREAD" outside the asm.js scope } - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); + 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 _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 _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); } - 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_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); } - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); 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 _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); } - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); + 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 _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } + function _glDisable(x0) { GLctx['disable'](x0) } - 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_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); } - 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); - } - } + + Module["_memset"] = _memset; - 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 _atexit(func, arg) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(110, func, arg); + __ATEXIT__.unshift({ func: func, arg: arg }); } - 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 _glfwMakeContextCurrent(winid) {} - 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 _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; } - function ___unlock() {} + function ___lock() {} - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + function _glCullFace(x0) { GLctx['cullFace'](x0) } - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); + 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_glFlush() { GLctx['flush']() } + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } - function _glUniformMatrix4fv(location, count, transpose, value) { + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; - 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)]; + 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; } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + // 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 _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); } - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glFrontFace(x0) { GLctx['frontFace'](x0) } + 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 _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); } - 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 _glfwGetPrimaryMonitor() { + return 1; } - 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; + 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; + } } - var id = GL.getNewId(GL.vaos); - vao.name = id; - GL.vaos[id] = vao; - HEAP32[(((arrays)+(i*4))>>2)]=id; } + }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 _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; + 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; } - return ret; + GLctx.deleteShader(shader); + GL.shaders[id] = null; } - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); + 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_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); } -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); + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } -STACK_MAX = STACK_BASE + TOTAL_STACK; + 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; + } -DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); + 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); + } -HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; + function ___syscall6(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 6, 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; + } + } -staticSealed = true; // seal the static portion of memory + 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; + } -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); + 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 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 _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } -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 _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } -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 ___syscall140(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 140, 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 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 ___syscall146(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 146, 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 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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } -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 _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } -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 _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } -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) } + + var _tzname; if (ENVIRONMENT_IS_PTHREAD) _tzname = PthreadWorkerInit._tzname; else PthreadWorkerInit._tzname = _tzname = allocate(8, "i32*", ALLOC_STATIC); + + var _daylight; if (ENVIRONMENT_IS_PTHREAD) _daylight = PthreadWorkerInit._daylight; else PthreadWorkerInit._daylight = _daylight = allocate(1, "i32*", ALLOC_STATIC); + + var _timezone; if (ENVIRONMENT_IS_PTHREAD) _timezone = PthreadWorkerInit._timezone; else PthreadWorkerInit._timezone = _timezone = allocate(1, "i32*", ALLOC_STATIC);function _tzset() { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_0(119); + // TODO: Use (malleable) environment variables instead of system settings. + if (_tzset.called) return; + _tzset.called = true; + + HEAP32[((_timezone)>>2)]=-(new Date()).getTimezoneOffset() * 60; + + var winter = new Date(2000, 0, 1); + var summer = new Date(2000, 6, 1); + HEAP32[((_daylight)>>2)]=Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + }; + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), 'i8', ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), 'i8', ALLOC_NORMAL); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + // Northern hemisphere + HEAP32[((_tzname)>>2)]=winterNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=summerNamePtr; + } else { + HEAP32[((_tzname)>>2)]=summerNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=winterNamePtr; + } + } -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) } + + Module["_i64Subtract"] = _i64Subtract; -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) } + + Module["_i64Add"] = _i64Add; -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 _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } -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 _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } -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 _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } -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 _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } -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 _emscripten_glFinish() { GLctx['finish']() } -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 _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } -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 _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } -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 _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 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 _sysconf(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(72, name); + // long sysconf(int name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html + switch(name) { + case 30: return PAGE_SIZE; + case 85: + var maxHeapSize = 2*1024*1024*1024 - 16777216; + maxHeapSize = HEAPU8.length; + return maxHeapSize / PAGE_SIZE; + case 132: + case 133: + case 12: + case 137: + case 138: + case 15: + case 235: + case 16: + case 17: + case 18: + case 19: + case 20: + case 149: + case 13: + case 10: + case 236: + case 153: + case 9: + case 21: + case 22: + case 159: + case 154: + case 14: + case 77: + case 78: + case 139: + case 80: + case 81: + case 82: + case 68: + case 67: + case 164: + case 11: + case 29: + case 47: + case 48: + case 95: + case 52: + case 51: + case 46: + return 200809; + case 79: + return 0; + case 27: + case 246: + case 127: + case 128: + case 23: + case 24: + case 160: + case 161: + case 181: + case 182: + case 242: + case 183: + case 184: + case 243: + case 244: + case 245: + case 165: + case 178: + case 179: + case 49: + case 50: + case 168: + case 169: + case 175: + case 170: + case 171: + case 172: + case 97: + case 76: + case 32: + case 173: + case 35: + return -1; + case 176: + case 177: + case 7: + case 155: + case 8: + case 157: + case 125: + case 126: + case 92: + case 93: + case 129: + case 130: + case 131: + case 94: + case 91: + return 1; + case 74: + case 60: + case 69: + case 70: + case 4: + return 1024; + case 31: + case 42: + case 72: + return 32; + case 87: + case 26: + case 33: + return 2147483647; + case 34: + case 1: + return 47839; + case 38: + case 36: + return 99; + case 43: + case 37: + return 2048; + case 0: return 2097152; + case 3: return 65536; + case 28: return 32768; + case 44: return 32767; + case 75: return 16384; + case 39: return 1000; + case 89: return 700; + case 71: return 256; + case 40: return 255; + case 2: return 100; + case 180: return 64; + case 25: return 20; + case 5: return 16; + case 6: return 6; + case 73: return 4; + case 84: { + if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; + return 1; + } + } + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } -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 _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } -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 _glClear(x0) { GLctx['clear'](x0) } -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 _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 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 _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 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 _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } -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 _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } -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 _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } -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 _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } -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 _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 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 _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } -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 _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } -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 _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } -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 _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[((ptr)>>2)]=(now/1000)|0; // seconds + HEAP32[(((ptr)+(4))>>2)]=((now % 1000)*1000)|0; // microseconds + return 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 _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } -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 _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } -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 _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 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 _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 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 _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 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 _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } -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 _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} + + + + + var _environ; if (ENVIRONMENT_IS_PTHREAD) _environ = PthreadWorkerInit._environ; else PthreadWorkerInit._environ = _environ = allocate(1, "i32*", ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env) { + // WARNING: Arbitrary limit! + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + + // Statically allocate memory for the environment. + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + // Set default values. Use string keys for Closure Compiler compatibility. + ENV['USER'] = ENV['LOGNAME'] = 'web_user'; + ENV['PATH'] = '/'; + ENV['PWD'] = '/'; + ENV['HOME'] = '/home/web_user'; + ENV['LANG'] = 'C'; + ENV['_'] = Module['thisProgram']; + // Allocate memory. + poolPtr = allocate(TOTAL_ENV_SIZE, 'i8', ALLOC_STATIC); + envPtr = allocate(MAX_ENV_VALUES * 4, + 'i8*', ALLOC_STATIC); + HEAP32[((envPtr)>>2)]=poolPtr; + HEAP32[((_environ)>>2)]=envPtr; + } else { + envPtr = HEAP32[((_environ)>>2)]; + poolPtr = HEAP32[((envPtr)>>2)]; + } + + // Collect key=value lines. + var strings = []; + var totalSize = 0; + for (var key in env) { + if (typeof env[key] === 'string') { + var line = key + '=' + env[key]; + strings.push(line); + totalSize += line.length; + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error('Environment size exceeded TOTAL_ENV_SIZE!'); + } + + // Make new. + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[(((envPtr)+(i * ptrSize))>>2)]=poolPtr; + poolPtr += line.length + 1; + } + HEAP32[(((envPtr)+(strings.length * ptrSize))>>2)]=0; + }var ENV={};function _clearenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(112, name); + // int clearenv (void); + // http://www.gnu.org/s/hello/manual/libc/Environment-Access.html#index-clearenv-3107 + ENV = {}; + ___buildEnvironment(ENV); + return 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 _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } -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 _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } -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 _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } -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 _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } -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); - } -} + 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); + } -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; + 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); + } -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'; + 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) { - 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); + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + var _emscripten_asm_const=true; - 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; + function _chroot(path) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(37, path); + // int chroot(const char *path); + // http://pubs.opengroup.org/onlinepubs/7908799/xsh/chroot.html + ___setErrNo(ERRNO_CODES.EACCES); + return -1; + } - 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; + function _glEnable(x0) { GLctx['enable'](x0) } - 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; + + + 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 _unsetenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(114, name); + // int unsetenv(const char *name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/unsetenv.html + if (name === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + name = Pointer_stringify(name); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name)) { + delete ENV[name]; + ___buildEnvironment(ENV); + } + return 0; + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + + + 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']); + }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 ___clock_gettime() { + return _clock_gettime.apply(null, arguments) + } + + 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_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + + function __cleanup_thread(pthread_ptr) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _cleanup_thread() can only ever be called from main application thread!'; + if (!pthread_ptr) throw 'Internal Error! Null pthread_ptr in _cleanup_thread!'; + HEAP32[(((pthread_ptr)+(24))>>2)]=0; + var pthread = PThread.pthreads[pthread_ptr]; + var worker = pthread.worker; + PThread.freeThreadData(pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } + + function __pthread_testcancel_js() { + if (!ENVIRONMENT_IS_PTHREAD) return; + if (!threadInfoStruct) return; + var cancelDisabled = Atomics.load(HEAPU32, (threadInfoStruct + 72 ) >> 2); + if (cancelDisabled) return; + var canceled = Atomics.load(HEAPU32, (threadInfoStruct + 0 ) >> 2); + if (canceled == 2) throw 'Canceled!'; + }function _pthread_join(thread, status) { + if (!thread) { + Module['printErr']('pthread_join attempted on a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + if (ENVIRONMENT_IS_PTHREAD && selfThreadId == thread) { + Module['printErr']('PThread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + else if (!ENVIRONMENT_IS_PTHREAD && PThread.mainThreadBlock == thread) { + Module['printErr']('Main thread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_join attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var detached = Atomics.load(HEAPU32, (thread + 80 ) >> 2); + if (detached) { + Module['printErr']('Attempted to join thread ' + thread + ', which was already detached!'); + return ERRNO_CODES.EINVAL; // The thread is already detached, can no longer join it! + } + for (;;) { + var threadStatus = Atomics.load(HEAPU32, (thread + 0 ) >> 2); + if (threadStatus == 1) { // Exited? + var threadExitCode = Atomics.load(HEAPU32, (thread + 4 ) >> 2); + if (status) HEAP32[((status)>>2)]=threadExitCode; + Atomics.store(HEAPU32, (thread + 80 ) >> 2, 1); // Mark the thread as detached. + + if (!ENVIRONMENT_IS_PTHREAD) __cleanup_thread(thread); + else postMessage({ cmd: 'cleanupThread', thread: thread}); + return 0; + } + // TODO HACK! Replace the _js variant with just _pthread_testcancel: + //_pthread_testcancel(); + __pthread_testcancel_js(); + // In main runtime thread (the thread that initialized the Emscripten C runtime and launched main()), assist pthreads in performing operations + // that they need to access the Emscripten main runtime for. + if (!ENVIRONMENT_IS_PTHREAD) _emscripten_main_thread_process_queued_calls(); + _emscripten_futex_wait(thread + 0, threadStatus, ENVIRONMENT_IS_PTHREAD ? 100 : 1); + } + } + + + + 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 __main_thread_futex_wait_address; if (ENVIRONMENT_IS_PTHREAD) __main_thread_futex_wait_address = PthreadWorkerInit.__main_thread_futex_wait_address; else PthreadWorkerInit.__main_thread_futex_wait_address = __main_thread_futex_wait_address = allocate(1, "i32*", ALLOC_STATIC);function _emscripten_futex_wait(addr, val, timeout) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0) return -22; + // dump('futex_wait addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ENVIRONMENT_IS_WORKER) { + var ret = Atomics.wait(HEAP32, addr >> 2, val, timeout); + // dump('futex_wait done by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ret === 'timed-out') return -110; + if (ret === 'not-equal') return -11; + if (ret === 'ok') return 0; + throw 'Atomics.wait returned an unexpected value ' + ret; + } else { + // Atomics.wait is not available in the main browser thread, so simulate it via busy spinning. + var loadedVal = Atomics.load(HEAP32, addr >> 2); + if (val != loadedVal) return -11; + + var tNow = performance.now(); + var tEnd = tNow + timeout; + + + // Register globally which address the main thread is simulating to be waiting on. When zero, main thread is not waiting on anything, + // and on nonzero, the contents of address pointed by __main_thread_futex_wait_address tell which address the main thread is simulating its wait on. + Atomics.store(HEAP32, __main_thread_futex_wait_address >> 2, addr); + var ourWaitAddress = addr; // We may recursively re-enter this function while processing queued calls, in which case we'll do a spurious wakeup of the older wait operation. + while (addr == ourWaitAddress) { + tNow = performance.now(); + if (tNow > tEnd) { + return -110; + } + _emscripten_main_thread_process_queued_calls(); // We are performing a blocking loop here, so must pump any pthreads if they want to perform operations that are proxied. + addr = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); // Look for a worker thread waking us up. + } + return 0; + } + } + + 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; + } + + + + var cttz_i8; if (ENVIRONMENT_IS_PTHREAD) cttz_i8 = PthreadWorkerInit.cttz_i8; else PthreadWorkerInit.cttz_i8 = 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 _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 _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + 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_futex_wake(addr, count) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0 || count < 0) return -22; + if (count == 0) return 0; + // dump('futex_wake addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + + // See if main thread is waiting on this address? If so, wake it up by resetting its wake location to zero. + // Note that this is not a fair procedure, since we always wake main thread first before any workers, so + // this scheme does not adhere to real queue-based waiting. + var mainThreadWaitAddress = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); + var mainThreadWoken = 0; + if (mainThreadWaitAddress == addr) { + var loadedAddr = Atomics.compareExchange(HEAP32, __main_thread_futex_wait_address >> 2, mainThreadWaitAddress, 0); + if (loadedAddr == mainThreadWaitAddress) { + --count; + mainThreadWoken = 1; + if (count <= 0) return 1; + } + } + + // Wake any workers waiting on this address. + var ret = Atomics.wake(HEAP32, addr >> 2, count); + if (ret >= 0) return ret + mainThreadWoken; + throw 'Atomics.wake returned an unexpected value ' + ret; + } + + 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_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 __spawn_thread(threadParams) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _spawn_thread() can only ever be called from main application thread!'; + + var worker = PThread.getNewWorker(); + if (worker.pthread !== undefined) throw 'Internal error!'; + if (!threadParams.pthread_ptr) throw 'Internal error, no pthread ptr!'; + PThread.runningWorkers.push(worker); + + // Allocate memory for thread-local storage and initialize it to zero. + var tlsMemory = _malloc(128 * 4); + for (var i = 0; i < 128; ++i) { + HEAP32[(((tlsMemory)+(i*4))>>2)]=0; + } + + var pthread = PThread.pthreads[threadParams.pthread_ptr] = { // Create a pthread info object to represent this thread. + worker: worker, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + allocatedOwnStack: threadParams.allocatedOwnStack, + thread: threadParams.pthread_ptr, + threadInfoStruct: threadParams.pthread_ptr // Info area for this thread in Emscripten HEAP (shared) + }; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 0 ) >> 2, 0); // threadStatus <- 0, meaning not yet exited. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 4 ) >> 2, 0); // threadExitCode <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 20 ) >> 2, 0); // profilerBlock <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 80 ) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 60 ) >> 2, 0); // Mark initial status to unused. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 52 ) >> 2, pthread.threadInfoStruct); // Main thread ID. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 56 ) >> 2, PROCINFO.pid); // Process ID. + + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 96) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 92) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 8) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 12) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 20) >> 2, threadParams.schedPolicy); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 24) >> 2, threadParams.schedPrio); + + var global_libc = _emscripten_get_global_libc(); + var global_locale = global_libc + 40; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 188) >> 2, global_locale); + + + worker.pthread = pthread; + + // Ask the worker to start executing its pthread entry point function. + worker.postMessage({ + cmd: 'run', + start_routine: threadParams.startRoutine, + arg: threadParams.arg, + threadInfoStruct: threadParams.pthread_ptr, + selfThreadId: threadParams.pthread_ptr, // TODO: Remove this since thread ID is now the same as the thread address. + parentThreadId: threadParams.parent_pthread_ptr, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + }, threadParams.transferList); + } + + function _pthread_getschedparam(thread, policy, schedparam) { + if (!policy && !schedparam) return ERRNO_CODES.EINVAL; + + if (!thread) { + Module['printErr']('pthread_getschedparam called with a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_getschedparam attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var schedPolicy = Atomics.load(HEAPU32, (thread + 120 + 20 ) >> 2); + var schedPrio = Atomics.load(HEAPU32, (thread + 120 + 24 ) >> 2); + + if (policy) HEAP32[((policy)>>2)]=schedPolicy; + if (schedparam) HEAP32[((schedparam)>>2)]=schedPrio; + return 0; + } + + function _pthread_self() { + return __pthread_ptr|0; + }function _pthread_create(pthread_ptr, attr, start_routine, arg) { + if (typeof SharedArrayBuffer === 'undefined') { + Module['printErr']('Current environment does not support SharedArrayBuffer, pthreads are not available!'); + return 11; + } + if (!pthread_ptr) { + Module['printErr']('pthread_create called with a null thread pointer!'); + return 22; + } + + var transferList = []; // List of JS objects that will transfer ownership to the Worker hosting the thread + + + // Synchronously proxy the thread creation to main thread if possible. If we need to transfer ownership of objects, then + // proxy asynchronously via postMessage. + if (ENVIRONMENT_IS_PTHREAD && transferList.length == 0) { + return _emscripten_sync_run_in_main_thread_4(137, pthread_ptr, attr, start_routine, arg); + } + + var stackSize = 0; + var stackBase = 0; + var detached = 0; // Default thread attr is PTHREAD_CREATE_JOINABLE, i.e. start as not detached. + var schedPolicy = 0; /*SCHED_OTHER*/ + var schedPrio = 0; + if (attr) { + stackSize = HEAP32[((attr)>>2)]; + stackBase = HEAP32[(((attr)+(8))>>2)]; + detached = HEAP32[(((attr)+(12))>>2)] != 0/*PTHREAD_CREATE_JOINABLE*/; + var inheritSched = HEAP32[(((attr)+(16))>>2)] == 0/*PTHREAD_INHERIT_SCHED*/; + if (inheritSched) { + var prevSchedPolicy = HEAP32[(((attr)+(20))>>2)]; + var prevSchedPrio = HEAP32[(((attr)+(24))>>2)]; + _pthread_getschedparam(_pthread_self(), attr + 20, attr + 24); + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + HEAP32[(((attr)+(20))>>2)]=prevSchedPolicy; + HEAP32[(((attr)+(24))>>2)]=prevSchedPrio; + } else { + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + } + } + stackSize += 81920 /*DEFAULT_STACK_SIZE*/; + var allocatedOwnStack = stackBase == 0; // If allocatedOwnStack == true, then the pthread impl maintains the stack allocation. + if (allocatedOwnStack) { + stackBase = _malloc(stackSize); // Allocate a stack if the user doesn't want to place the stack in a custom memory area. + } else { + // Musl stores the stack base address assuming stack grows downwards, so adjust it to Emscripten convention that the + // stack grows upwards instead. + stackBase -= stackSize; + assert(stackBase > 0); + } + + // Allocate thread block (pthread_t structure). + var threadInfoStruct = _malloc(244); + for (var i = 0; i < 244 >> 2; ++i) HEAPU32[(threadInfoStruct>>2) + i] = 0; // zero-initialize thread structure. + HEAP32[((pthread_ptr)>>2)]=threadInfoStruct; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((threadInfoStruct)+(24))>>2)]=threadInfoStruct; + + // pthread struct robust_list head should point to itself. + var headPtr = threadInfoStruct + 168; + HEAP32[((headPtr)>>2)]=headPtr; + + var threadParams = { + stackBase: stackBase, + stackSize: stackSize, + allocatedOwnStack: allocatedOwnStack, + schedPolicy: schedPolicy, + schedPrio: schedPrio, + detached: detached, + startRoutine: start_routine, + pthread_ptr: threadInfoStruct, + parent_pthread_ptr: _pthread_self(), + arg: arg, + transferList: transferList + }; + + if (ENVIRONMENT_IS_PTHREAD) { + // The prepopulated pool of web workers that can host pthreads is stored in the main JS thread. Therefore if a + // pthread is attempting to spawn a new thread, the thread creation must be deferred to the main JS thread. + threadParams.cmd = 'spawnThread'; + postMessage(threadParams, transferList); + } else { + // We are the main thread, so we have the pthread warmup pool in this thread and can fire off JS thread creation + // directly ourselves. + __spawn_thread(threadParams); + } + + return 0; + } + + 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_set_current_thread_status_js(newStatus) { + } + Module["_emscripten_set_current_thread_status"] = _emscripten_set_current_thread_status; + + 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 _confstr(name, buf, len) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(68, name, buf, len); + // size_t confstr(int name, char *buf, size_t len); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/confstr.html + var value; + switch (name) { + case 0: + value = ENV['PATH'] || '/'; + break; + case 1: + // Mimicking glibc. + value = 'POSIX_V6_ILP32_OFF32\nPOSIX_V6_ILP32_OFFBIG'; + break; + case 2: + // This JS implementation was tested against this glibc version. + value = 'glibc 2.14'; + break; + case 3: + // We don't support pthreads. + value = ''; + break; + case 1118: + case 1122: + case 1124: + case 1125: + case 1126: + case 1128: + case 1129: + case 1130: + value = ''; + break; + case 1116: + case 1117: + case 1121: + value = '-m32'; + break; + case 1120: + value = '-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'; + break; + default: + ___setErrNo(ERRNO_CODES.EINVAL); + return 0; + } + if (len == 0 || buf == 0) { + return value.length + 1; + } else { + var length = Math.min(len, value.length); + for (var i = 0; i < length; i++) { + HEAP8[(((buf)+(i))>>0)]=value.charCodeAt(i); + } + if (len > length) HEAP8[(((buf)+(i++))>>0)]=0; + return i; + } + } + + 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 _getenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(111, name); + // char *getenv(const char *name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/getenv.html + if (name === 0) return 0; + name = Pointer_stringify(name); + if (!ENV.hasOwnProperty(name)) return 0; + + if (_getenv.ret) _free(_getenv.ret); + _getenv.ret = allocate(intArrayFromString(ENV[name]), 'i8', ALLOC_NORMAL); + return _getenv.ret; + } + + + function _emscripten_conditional_set_current_thread_status_js(expectedStatus, newStatus) { + } + Module["_emscripten_conditional_set_current_thread_status"] = _emscripten_conditional_set_current_thread_status; + + 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 _setenv(envname, envval, overwrite) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(113, envname, envval, overwrite); + // int setenv(const char *envname, const char *envval, int overwrite); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/setenv.html + if (envname === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = Pointer_stringify(envname); + var val = Pointer_stringify(envval); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name) && !overwrite) return 0; + ENV[name] = val; + ___buildEnvironment(ENV); + return 0; + } + + 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_syscall(which, varargs) { + switch (which) { + case 54: return ___syscall54(which, varargs); + case 6: return ___syscall6(which, varargs); + case 140: return ___syscall140(which, varargs); + case 146: return ___syscall146(which, varargs); + default: throw "surprising proxied syscall: " + which; + } + } + + 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 _fpathconf(fildes, name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(46, fildes, name); + // long fpathconf(int fildes, int name); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/encrypt.html + // NOTE: The first parameter is ignored, so pathconf == fpathconf. + // The constants here aren't real values. Just mimicking glibc. + switch (name) { + case 0: + return 32000; + case 1: + case 2: + case 3: + return 255; + case 4: + case 5: + case 16: + case 17: + case 18: + return 4096; + case 6: + case 7: + case 20: + return 1; + case 8: + return 0; + case 9: + case 10: + case 11: + case 12: + case 14: + case 15: + case 19: + return -1; + case 13: + return 64; + } + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + + function _putenv(string) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(115, string); + // int putenv(char *string); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/putenv.html + // WARNING: According to the standard (and the glibc implementation), the + // string is taken by reference so future changes are reflected. + // We copy it instead, possibly breaking some uses. + if (string === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + string = Pointer_stringify(string); + var splitPoint = string.indexOf('=') + if (string === '' || string.indexOf('=') === -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = string.slice(0, splitPoint); + var value = string.slice(splitPoint + 1); + if (!(name in ENV) || ENV[name] !== value) { + ENV[name] = value; + ___buildEnvironment(ENV); + } + return 0; + } + + 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 _utimes(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(13, path, times); + var time; + if (times) { + var offset = 8 + 0; + time = HEAP32[(((times)+(offset))>>2)] * 1000; + offset = 8 + 4; + time += HEAP32[(((times)+(offset))>>2)] / 1000; + } else { + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; + } + } + + 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) }; +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();; +if (!ENVIRONMENT_IS_PTHREAD) PThread.initMainThreadBlock();; +if (!ENVIRONMENT_IS_PTHREAD) ___buildEnvironment(ENV);; +if (!ENVIRONMENT_IS_PTHREAD) { + // Only main thread initializes these, pthreads copy them over at thread worker init time (in pthread-main.js) +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.asmGlobalArg['Atomics'] = Atomics; +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, "_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, "_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_glCompileShader": _emscripten_glCompileShader, "_sysconf": _sysconf, "_utime": _utime, "_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, "_chroot": _chroot, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_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, "__pthread_testcancel_js": __pthread_testcancel_js, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_unsetenv": _unsetenv, "_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, "_emscripten_get_now_is_monotonic": _emscripten_get_now_is_monotonic, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_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_asm_const_v": _emscripten_asm_const_v, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_pthread_self": _pthread_self, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "__register_pthread_ptr": __register_pthread_ptr, "_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_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_gettimeofday": _gettimeofday, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "__spawn_thread": __spawn_thread, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_conditional_set_current_thread_status_js": _emscripten_conditional_set_current_thread_status_js, "_putenv": _putenv, "_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, "_fpathconf": _fpathconf, "_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_glFrustum": _emscripten_glFrustum, "_emscripten_is_main_runtime_thread": _emscripten_is_main_runtime_thread, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___buildEnvironment": ___buildEnvironment, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_utimes": _utimes, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_tzset": _tzset, "_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, "___clock_gettime": ___clock_gettime, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_clearenv": _clearenv, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_getenv": _getenv, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_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, "_emscripten_futex_wake": _emscripten_futex_wake, "_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, "__cleanup_thread": __cleanup_thread, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_set_current_thread_status_js": _emscripten_set_current_thread_status_js, "_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_glShaderSource": _emscripten_glShaderSource, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_syscall": _emscripten_syscall, "_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_futex_wait": _emscripten_futex_wait, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_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, "___pthread_setcancelstate": ___pthread_setcancelstate, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_confstr": _confstr, "_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, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_pthread_create": _pthread_create, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_pthread_getschedparam": _pthread_getschedparam, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_atexit": _atexit, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_setenv": _setenv, "_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; @@ -6873,7 +11022,6 @@ var asm = (function(global, env, buffer) { 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; @@ -6884,6 +11032,7 @@ var asm = (function(global, env, buffer) { 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; @@ -6896,25 +11045,26 @@ var asm = (function(global, env, buffer) { 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_glCompileShader=env._emscripten_glCompileShader; + var _sysconf=env._sysconf; + var _utime=env._utime; 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 _chroot=env._chroot; 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_glLoadMatrixf=env._emscripten_glLoadMatrixf; var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; @@ -6926,9 +11076,11 @@ var asm = (function(global, env, buffer) { var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; var _emscripten_glScissor=env._emscripten_glScissor; + var __pthread_testcancel_js=env.__pthread_testcancel_js; var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _unsetenv=env._unsetenv; var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; @@ -6936,13 +11088,14 @@ var asm = (function(global, env, buffer) { var _glfwSetErrorCallback=env._glfwSetErrorCallback; var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; var _glfwDestroyWindow=env._glfwDestroyWindow; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var ___syscall146=env.___syscall146; 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_glIsBuffer=env._emscripten_glIsBuffer; var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; var _glGetProgramInfoLog=env._glGetProgramInfoLog; var _glfwSetScrollCallback=env._glfwSetScrollCallback; @@ -6967,17 +11120,21 @@ var asm = (function(global, env, buffer) { var _glDepthFunc=env._glDepthFunc; var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_asm_const_v=env._emscripten_asm_const_v; 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 _pthread_self=env._pthread_self; var _emscripten_glBufferData=env._emscripten_glBufferData; var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; var _emscripten_glRotatef=env._emscripten_glRotatef; var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; var _glEnable=env._glEnable; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; var _emscripten_glReadPixels=env._emscripten_glReadPixels; var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; var _glGetString=env._glGetString; @@ -6985,7 +11142,7 @@ var asm = (function(global, env, buffer) { var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; var emscriptenWebGLGet=env.emscriptenWebGLGet; var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var __register_pthread_ptr=env.__register_pthread_ptr; var _emscripten_get_now=env._emscripten_get_now; var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; var _glAttachShader=env._glAttachShader; @@ -6994,41 +11151,49 @@ var asm = (function(global, env, buffer) { 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_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; var _time=env._time; - var ___syscall146=env.___syscall146; + var _gettimeofday=env._gettimeofday; + 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 __spawn_thread=env.__spawn_thread; var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_conditional_set_current_thread_status_js=env._emscripten_conditional_set_current_thread_status_js; + var _putenv=env._putenv; 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 _fpathconf=env._fpathconf; 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_glFrustum=env._emscripten_glFrustum; + var _emscripten_is_main_runtime_thread=env._emscripten_is_main_runtime_thread; 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 ___buildEnvironment=env.___buildEnvironment; var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _utimes=env._utimes; 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 _tzset=env._tzset; var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; @@ -7039,29 +11204,33 @@ var asm = (function(global, env, buffer) { var _emscripten_glHint=env._emscripten_glHint; var _glfwSetCharCallback=env._glfwSetCharCallback; var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _glGetFloatv=env._glGetFloatv; var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var ___clock_gettime=env.___clock_gettime; 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 _clearenv=env._clearenv; var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; var _glCompileShader=env._glCompileShader; var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _getenv=env._getenv; 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_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + 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 _emscripten_futex_wake=env._emscripten_futex_wake; var _glFrontFace=env._glFrontFace; var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; @@ -7071,10 +11240,11 @@ var asm = (function(global, env, buffer) { var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; var _abort=env._abort; var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var __cleanup_thread=env.__cleanup_thread; var _glDeleteBuffers=env._glDeleteBuffers; var _glBufferData=env._glBufferData; var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _emscripten_set_current_thread_status_js=env._emscripten_set_current_thread_status_js; var _glfwSetKeyCallback=env._glfwSetKeyCallback; var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; @@ -7085,8 +11255,9 @@ var asm = (function(global, env, buffer) { var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_syscall=env._emscripten_syscall; var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; @@ -7096,18 +11267,19 @@ var asm = (function(global, env, buffer) { var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + 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_futex_wait=env._emscripten_futex_wait; 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 _emscripten_request_pointerlock=env._emscripten_request_pointerlock; var _glClear=env._glClear; var _glGenTextures=env._glGenTextures; var _emscripten_glDisable=env._emscripten_glDisable; @@ -7117,12 +11289,14 @@ var asm = (function(global, env, buffer) { var _emscripten_glUniform3f=env._emscripten_glUniform3f; var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var ___pthread_setcancelstate=env.___pthread_setcancelstate; 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 _confstr=env._confstr; var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; var _emscripten_glBindTexture=env._emscripten_glBindTexture; @@ -7132,29 +11306,42 @@ var asm = (function(global, env, buffer) { var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; var ___syscall54=env.___syscall54; var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var _glfwWaitEvents=env._glfwWaitEvents; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; 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 _pthread_getschedparam=env._pthread_getschedparam; 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 _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; var _glTexParameteri=env._glTexParameteri; var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _atexit=env._atexit; 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 _setenv=env._setenv; var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + var Atomics_load=global.Atomics.load; + var Atomics_store=global.Atomics.store; + var Atomics_exchange=global.Atomics.exchange; + var Atomics_compareExchange=global.Atomics.compareExchange; + var Atomics_add=global.Atomics.add; + var Atomics_sub=global.Atomics.sub; + var Atomics_and=global.Atomics.and; + var Atomics_or=global.Atomics.or; + var Atomics_xor=global.Atomics.xor; var tempFloat = 0.0; // EMSCRIPTEN_START_FUNCS @@ -7203,7 +11390,7 @@ function getTempRet0() { function _InitPhysics() { var label = 0, sp = 0; sp = STACKTOP; - (_pthread_create((14120|0),(0|0),(2|0),(0|0))|0); + (_pthread_create((14272|0),(0|0),(2|0),(0|0))|0); return; } function _PhysicsLoop($0) { @@ -7211,53 +11398,53 @@ function _PhysicsLoop($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; + HEAP32[3569] = 1; + HEAPF64[1746] = 0.0; _InitTimer(); - $1 = HEAP32[3531]|0; + $1 = HEAP32[3569]|0; $2 = ($1|0)==(0); if (!($2)) { while(1) { $3 = (+_GetCurrentTime()); - HEAPF64[1728] = $3; - $4 = +HEAPF64[1729]; + HEAPF64[1747] = $3; + $4 = +HEAPF64[1748]; $5 = $3 - $4; - HEAPF64[1730] = $5; - $6 = +HEAPF64[1727]; + HEAPF64[1749] = $5; + $6 = +HEAPF64[1746]; $7 = $5 + $6; - HEAPF64[1727] = $7; + HEAPF64[1746] = $7; _MathClamp(); - $$pr = +HEAPF64[1727]; + $$pr = +HEAPF64[1746]; $8 = !($$pr >= 0.016666666666666666); if (!($8)) { while(1) { _PhysicsStep(); - $9 = +HEAPF64[1730]; - $10 = +HEAPF64[1727]; + $9 = +HEAPF64[1749]; + $10 = +HEAPF64[1746]; $11 = $10 - $9; - HEAPF64[1727] = $11; + HEAPF64[1746] = $11; $12 = !($11 >= 0.016666666666666666); if ($12) { break; } } } - $13 = +HEAPF64[1728]; - HEAPF64[1729] = $13; - $14 = HEAP32[3531]|0; + $13 = +HEAPF64[1747]; + HEAPF64[1748] = $13; + $14 = HEAP32[3569]|0; $15 = ($14|0)==(0); if ($15) { break; } } } - $16 = HEAP32[3598]|0; + $16 = HEAP32[3636]|0; $$0912 = (($16) + -1)|0; $17 = ($$0912|0)>(-1); if ($17) { $$0913 = $$0912; while(1) { - $20 = (14396 + ($$0913<<2)|0); + $20 = (14548 + ($$0913<<2)|0); $21 = HEAP32[$20>>2]|0; _DestroyPhysicsManifold($21); $$09 = (($$0913) + -1)|0; @@ -7269,7 +11456,7 @@ function _PhysicsLoop($0) { } } } - $18 = HEAP32[3533]|0; + $18 = HEAP32[3571]|0; $$010 = (($18) + -1)|0; $19 = ($$010|0)>(-1); if ($19) { @@ -7278,7 +11465,7 @@ function _PhysicsLoop($0) { return (0|0); } while(1) { - $23 = (14136 + ($$011<<2)|0); + $23 = (14288 + ($$011<<2)|0); $24 = HEAP32[$23>>2]|0; _DestroyPhysicsBody($24); $$0 = (($$011) + -1)|0; @@ -7324,10 +11511,10 @@ function _CreatePhysicsBodyPolygon($0,$1,$2,$3) { $5 = sp + 8|0; $6 = sp; $7 = (_malloc(500)|0); - $8 = HEAP32[3532]|0; + $8 = HEAP32[3570]|0; $9 = (($8) + 500)|0; - HEAP32[3532] = $9; - $10 = HEAP32[3533]|0; + HEAP32[3570] = $9; + $10 = HEAP32[3571]|0; $11 = ($10|0)==(0); $$0116149 = 0; L1: while(1) { @@ -7338,7 +11525,7 @@ function _CreatePhysicsBodyPolygon($0,$1,$2,$3) { $$0119144 = 0; } while(1) { - $14 = (14136 + ($$0119144<<2)|0); + $14 = (14288 + ($$0119144<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$15>>2]|0; $17 = ($16|0)==($$0116149|0); @@ -7534,11 +11721,11 @@ function _CreatePhysicsBodyPolygon($0,$1,$2,$3) { HEAP32[$118>>2] = 0; $119 = ((($7)) + 80|0); HEAP32[$119>>2] = 0; - $120 = HEAP32[3533]|0; - $121 = (14136 + ($120<<2)|0); + $120 = HEAP32[3571]|0; + $121 = (14288 + ($120<<2)|0); HEAP32[$121>>2] = $7; $122 = (($120) + 1)|0; - HEAP32[3533] = $122; + HEAP32[3571] = $122; STACKTOP = sp;return ($7|0); } function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { @@ -7563,10 +11750,10 @@ function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { $6 = sp + 8|0; $7 = sp; $8 = (_malloc(500)|0); - $9 = HEAP32[3532]|0; + $9 = HEAP32[3570]|0; $10 = (($9) + 500)|0; - HEAP32[3532] = $10; - $11 = HEAP32[3533]|0; + HEAP32[3570] = $10; + $11 = HEAP32[3571]|0; $12 = ($11|0)==(0); $$0116149 = 0; L1: while(1) { @@ -7577,7 +11764,7 @@ function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { $$0119144 = 0; } while(1) { - $15 = (14136 + ($$0119144<<2)|0); + $15 = (14288 + ($$0119144<<2)|0); $16 = HEAP32[$15>>2]|0; $17 = HEAP32[$16>>2]|0; $18 = ($17|0)==($$0116149|0); @@ -7778,11 +11965,11 @@ function _CreatePhysicsBodyRectangle($0,$1,$2,$3) { HEAP32[$120>>2] = 0; $121 = ((($8)) + 80|0); HEAP32[$121>>2] = 0; - $122 = HEAP32[3533]|0; - $123 = (14136 + ($122<<2)|0); + $122 = HEAP32[3571]|0; + $123 = (14288 + ($122<<2)|0); HEAP32[$123>>2] = $8; $124 = (($122) + 1)|0; - HEAP32[3533] = $124; + HEAP32[3571] = $124; STACKTOP = sp;return ($8|0); } function _CreateRectanglePolygon($0,$1,$2) { @@ -8055,16 +12242,16 @@ function _DestroyPhysicsBody($0) { return; } $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[3533]|0; + $3 = HEAP32[3571]|0; $4 = ($3|0)==(0); L4: do { if ($4) { $$021 = -1; } else { - $5 = HEAP32[3533]|0; + $5 = HEAP32[3571]|0; $$02023 = 0; while(1) { - $6 = (14136 + ($$02023<<2)|0); + $6 = (14288 + ($$02023<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==($2|0); @@ -8083,24 +12270,24 @@ function _DestroyPhysicsBody($0) { } } } while(0); - $12 = (14136 + ($$021<<2)|0); + $12 = (14288 + ($$021<<2)|0); $13 = HEAP32[$12>>2]|0; _free($13); - $14 = HEAP32[3532]|0; + $14 = HEAP32[3570]|0; $15 = (($14) + -500)|0; - HEAP32[3532] = $15; + HEAP32[3570] = $15; HEAP32[$12>>2] = 0; - $16 = HEAP32[3533]|0; + $16 = HEAP32[3571]|0; $17 = ($$021>>>0)<($16>>>0); if ($17) { - $18 = HEAP32[3533]|0; + $18 = HEAP32[3571]|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); + $24 = (14288 + ($$022<<2)|0); + $25 = (14288 + ($20<<2)|0); $26 = HEAP32[$25>>2]|0; HEAP32[$24>>2] = $26; } @@ -8116,7 +12303,7 @@ function _DestroyPhysicsBody($0) { $$lcssa = $16; } $19 = (($$lcssa) + -1)|0; - HEAP32[3533] = $19; + HEAP32[3571] = $19; return; } function _Vector2Subtract_4($0,$1,$2) { @@ -8161,20 +12348,20 @@ function _MathNormalize($0) { function _GetPhysicsBodiesCount() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3533]|0; + $0 = HEAP32[3571]|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; + $1 = HEAP32[3571]|0; $2 = ($1>>>0)>($0>>>0); if (!($2)) { $$0 = 0; return ($$0|0); } - $3 = (14136 + ($0<<2)|0); + $3 = (14288 + ($0<<2)|0); $4 = HEAP32[$3>>2]|0; $$0 = $4; return ($$0|0); @@ -8183,11 +12370,11 @@ 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; + $1 = HEAP32[3571]|0; $2 = ($1>>>0)>($0>>>0); L1: do { if ($2) { - $3 = (14136 + ($0<<2)|0); + $3 = (14288 + ($0<<2)|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)==(0|0); if ($5) { @@ -8313,234 +12500,288 @@ function _Mat2Radians($0,$1) { function _ClosePhysics() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - HEAP32[3531] = 0; - $0 = HEAP32[3530]|0; + HEAP32[3569] = 0; + $0 = HEAP32[3568]|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; + var $$byval_copy3 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0.0, $23 = 0.0, $24 = 0, $25 = 0; + var $26 = 0, $27 = 0.0, $28 = 0, $29 = 0, $3 = 0, $30 = 0, $31 = 0.0, $32 = 0.0, $33 = 0, $34 = 0, $35 = 0, $36 = 0.0, $37 = 0, $38 = 0, $39 = 0, $4 = 0, $40 = 0.0, $41 = 0.0, $42 = 0, $43 = 0; + var $44 = 0, $45 = 0.0, $46 = 0, $47 = 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_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; + STACKTOP = STACKTOP + 48|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(48|0); + $$byval_copy3 = sp + 32|0; + $0 = sp + 24|0; + $1 = sp + 16|0; + $2 = sp + 8|0; + $3 = sp; _SetConfigFlags(32); - _InitWindow(800,450,3480); - _SetTargetFPS(60); - $15 = (_MeasureText(3518,30)|0); - $16 = (800 - ($15))|0; - $17 = (($16) + -10)|0; + $4 = HEAP32[2]|0; + $5 = HEAP32[3]|0; + _InitWindow($4,$5,3248); + $6 = HEAP32[2]|0; + $7 = (_MeasureText(3286,30)|0); + $8 = (($6) + -10)|0; + $9 = (($8) - ($7))|0; + HEAP32[7733] = $9; _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; - } + $10 = HEAP32[2]|0; + $11 = (($10|0) / 2)&-1; + $12 = (+($11|0)); + HEAPF32[$0>>2] = $12; + $13 = ((($0)) + 4|0); + $14 = HEAP32[3]|0; + $15 = (+($14|0)); + HEAPF32[$13>>2] = $15; + $16 = HEAP32[2]|0; + $17 = (+($16|0)); + ;HEAP32[$$byval_copy3>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$0+4>>2]|0; + $18 = (_CreatePhysicsBodyRectangle($$byval_copy3,$17,100.0,10.0)|0); + $19 = ((($18)) + 4|0); + HEAP32[$19>>2] = 0; + $20 = ((($18)) + 68|0); + HEAPF32[$20>>2] = 1.0; + $21 = HEAP32[2]|0; + $22 = (+($21|0)); + $23 = $22 * 0.25; + HEAPF32[$1>>2] = $23; + $24 = ((($1)) + 4|0); + $25 = HEAP32[3]|0; + $26 = (($25|0) / 2)&-1; + $27 = (+($26|0)); + HEAPF32[$24>>2] = $27; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$1+4>>2]|0; + $28 = (_CreatePhysicsBodyCircle($$byval_copy3,30.0,10.0)|0); + HEAP32[7734] = $28; + $29 = ((($28)) + 68|0); + HEAPF32[$29>>2] = 0.0; + $30 = HEAP32[2]|0; + $31 = (+($30|0)); + $32 = $31 * 0.5; + HEAPF32[$2>>2] = $32; + $33 = ((($2)) + 4|0); + $34 = HEAP32[3]|0; + $35 = (($34|0) / 2)&-1; + $36 = (+($35|0)); + HEAPF32[$33>>2] = $36; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$2>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$2+4>>2]|0; + $37 = (_CreatePhysicsBodyCircle($$byval_copy3,30.0,10.0)|0); + HEAP32[7735] = $37; + $38 = ((($37)) + 68|0); + HEAPF32[$38>>2] = 0.5; + $39 = HEAP32[2]|0; + $40 = (+($39|0)); + $41 = $40 * 0.75; + HEAPF32[$3>>2] = $41; + $42 = ((($3)) + 4|0); + $43 = HEAP32[3]|0; + $44 = (($43|0) / 2)&-1; + $45 = (+($44|0)); + HEAPF32[$42>>2] = $45; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$3+4>>2]|0; + $46 = (_CreatePhysicsBodyCircle($$byval_copy3,30.0,10.0)|0); + HEAP32[7736] = $46; + $47 = ((($46)) + 68|0); + HEAPF32[$47>>2] = 1.0; + _emscripten_set_main_loop((1|0),0,1); + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _UpdateDrawFrame() { + var $$04142 = 0, $$043 = 0, $$byval_copy1 = 0, $$byval_copy2 = 0, $$byval_copy3 = 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.0, $16 = 0.0, $17 = 0, $18 = 0, $19 = 0.0, $2 = 0, $20 = 0, $21 = 0.0, $22 = 0, $23 = 0.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.0, $43 = 0, $44 = 0, $45 = 0.0, $46 = 0.0, $47 = 0; + var $48 = 0, $49 = 0, $5 = 0, $50 = 0.0, $51 = 0.0, $52 = 0, $53 = 0, $54 = 0, $55 = 0.0, $56 = 0, $57 = 0, $58 = 0.0, $59 = 0.0, $6 = 0, $60 = 0, $61 = 0, $62 = 0, $63 = 0.0, $64 = 0.0, $65 = 0; + var $66 = 0, $67 = 0, $68 = 0.0, $69 = 0, $7 = 0, $70 = 0, $71 = 0.0, $72 = 0.0, $73 = 0, $74 = 0, $75 = 0, $76 = 0.0, $77 = 0.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, $exitcond = 0, $exitcond47 = 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; + $$byval_copy2 = sp + 56|0; + $$byval_copy1 = sp + 48|0; + $0 = sp + 68|0; + $1 = sp + 24|0; + $2 = sp + 8|0; + $3 = sp + 64|0; + $4 = sp + 44|0; + $5 = sp + 40|0; + $6 = sp + 36|0; + $7 = sp + 32|0; + $8 = sp + 20|0; + $9 = sp + 16|0; + $10 = sp; + $11 = (_IsKeyPressed(82)|0); + $12 = ($11|0)==(0); + if (!($12)) { + $13 = HEAP32[7734]|0; + $14 = HEAP32[2]|0; + $15 = (+($14|0)); + $16 = $15 * 0.25; + $17 = HEAP32[3]|0; + $18 = (($17|0) / 2)&-1; + $19 = (+($18|0)); + $$sroa$038$0$$sroa_idx = ((($13)) + 8|0); + HEAPF32[$$sroa$038$0$$sroa_idx>>2] = $16; + $$sroa$239$0$$sroa_idx40 = ((($13)) + 12|0); + HEAPF32[$$sroa$239$0$$sroa_idx40>>2] = $19; + $$sroa$035$0$$sroa_idx = ((($13)) + 16|0); + HEAPF32[$$sroa$035$0$$sroa_idx>>2] = 0.0; + $$sroa$236$0$$sroa_idx37 = ((($13)) + 20|0); + HEAPF32[$$sroa$236$0$$sroa_idx37>>2] = 0.0; + $20 = HEAP32[7735]|0; + $21 = $15 * 0.5; + $$sroa$032$0$$sroa_idx = ((($20)) + 8|0); + HEAPF32[$$sroa$032$0$$sroa_idx>>2] = $21; + $$sroa$233$0$$sroa_idx34 = ((($20)) + 12|0); + HEAPF32[$$sroa$233$0$$sroa_idx34>>2] = $19; + $$sroa$029$0$$sroa_idx = ((($20)) + 16|0); + HEAPF32[$$sroa$029$0$$sroa_idx>>2] = 0.0; + $$sroa$230$0$$sroa_idx31 = ((($20)) + 20|0); + HEAPF32[$$sroa$230$0$$sroa_idx31>>2] = 0.0; + $22 = HEAP32[7736]|0; + $23 = $15 * 0.75; + $$sroa$026$0$$sroa_idx = ((($22)) + 8|0); + HEAPF32[$$sroa$026$0$$sroa_idx>>2] = $23; + $$sroa$227$0$$sroa_idx28 = ((($22)) + 12|0); + HEAPF32[$$sroa$227$0$$sroa_idx28>>2] = $19; + $$sroa$0$0$$sroa_idx = ((($22)) + 16|0); + HEAPF32[$$sroa$0$0$$sroa_idx>>2] = 0.0; + $$sroa$2$0$$sroa_idx25 = ((($22)) + 20|0); + HEAPF32[$$sroa$2$0$$sroa_idx25>>2] = 0.0; + } + _BeginDrawing(); + HEAP8[$0>>0] = 0; + $24 = ((($0)) + 1|0); + HEAP8[$24>>0] = 0; + $25 = ((($0)) + 2|0); + HEAP8[$25>>0] = 0; + $26 = ((($0)) + 3|0); + HEAP8[$26>>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); + $27 = HEAP32[2]|0; + $28 = (($27) + -90)|0; + $29 = HEAP32[3]|0; + $30 = (($29) + -30)|0; + _DrawFPS($28,$30); + $31 = (_GetPhysicsBodiesCount()|0); + $32 = ($31|0)>(0); + if ($32) { + $33 = ((($3)) + 1|0); + $34 = ((($3)) + 2|0); + $35 = ((($3)) + 3|0); + $$043 = 0; + while(1) { + $85 = (_GetPhysicsBody($$043)|0); + $86 = (_GetPhysicsShapeVerticesCount($$043)|0); + $87 = ($86|0)>(0); + if ($87) { + $$04142 = 0; + while(1) { + _GetPhysicsShapeVertex($1,$85,$$04142); + $89 = (($$04142) + 1)|0; + $90 = ($89|0)<($86|0); + $91 = $90 ? $89 : 0; + _GetPhysicsShapeVertex($2,$85,$91); + HEAP8[$3>>0] = 0; + HEAP8[$33>>0] = -28; + HEAP8[$34>>0] = 48; + HEAP8[$35>>0] = -1; + ;HEAP32[$$byval_copy1>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy1+4>>2]=HEAP32[$1+4>>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; + _DrawLineV($$byval_copy1,$$byval_copy2,$$byval_copy3); + $exitcond = ($89|0)==($86|0); + if ($exitcond) { + break; + } else { + $$04142 = $89; } } - $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; + } + $88 = (($$043) + 1)|0; + $exitcond47 = ($88|0)==($31|0); + if ($exitcond47) { + break; + } else { + $$043 = $88; + } } } - _ClosePhysics(); - _CloseWindow(); - STACKTOP = sp;return 0; + $36 = HEAP32[2]|0; + $37 = (_MeasureText(3293,30)|0); + $38 = (($36) - ($37))|0; + $39 = (($38|0) / 2)&-1; + HEAP32[$4>>2] = -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(3293,$39,75,30,$$byval_copy3); + $40 = HEAP32[7734]|0; + $41 = ((($40)) + 8|0); + $42 = +HEAPF32[$41>>2]; + $43 = (_MeasureText(3312,20)|0); + $44 = (($43|0) / 2)&-1; + $45 = (+($44|0)); + $46 = $42 - $45; + $47 = (~~(($46))); + $48 = HEAP32[7734]|0; + $49 = ((($48)) + 12|0); + $50 = +HEAPF32[$49>>2]; + $51 = $50 + -7.0; + $52 = (~~(($51))); + HEAP32[$5>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$5>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$5+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$5+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$5+3>>0]|0; + _DrawText(3312,$47,$52,20,$$byval_copy3); + $53 = HEAP32[7735]|0; + $54 = ((($53)) + 8|0); + $55 = +HEAPF32[$54>>2]; + $56 = (_MeasureText(3314,20)|0); + $57 = (($56|0) / 2)&-1; + $58 = (+($57|0)); + $59 = $55 - $58; + $60 = (~~(($59))); + $61 = HEAP32[7735]|0; + $62 = ((($61)) + 12|0); + $63 = +HEAPF32[$62>>2]; + $64 = $63 + -7.0; + $65 = (~~(($64))); + HEAP32[$6>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$6+3>>0]|0; + _DrawText(3314,$60,$65,20,$$byval_copy3); + $66 = HEAP32[7736]|0; + $67 = ((($66)) + 8|0); + $68 = +HEAPF32[$67>>2]; + $69 = (_MeasureText(3318,20)|0); + $70 = (($69|0) / 2)&-1; + $71 = (+($70|0)); + $72 = $68 - $71; + $73 = (~~(($72))); + $74 = HEAP32[7736]|0; + $75 = ((($74)) + 12|0); + $76 = +HEAPF32[$75>>2]; + $77 = $76 + -7.0; + $78 = (~~(($77))); + HEAP32[$7>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$7>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$7+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$7+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$7+3>>0]|0; + _DrawText(3318,$73,$78,20,$$byval_copy3); + HEAP32[$8>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$8+3>>0]|0; + _DrawText(3320,10,10,10,$$byval_copy3); + $79 = HEAP32[7733]|0; + $80 = HEAP32[4]|0; + HEAP32[$9>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$9>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$9+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$9+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$9+3>>0]|0; + _DrawText(3286,$79,$80,30,$$byval_copy3); + $81 = HEAP32[7733]|0; + $82 = (($81) + 50)|0; + $83 = HEAP32[4]|0; + $84 = (($83) + -7)|0; + HEAP32[$10>>2] = -1; + ;HEAP8[$$byval_copy3>>0]=HEAP8[$10>>0]|0;HEAP8[$$byval_copy3+1>>0]=HEAP8[$10+1>>0]|0;HEAP8[$$byval_copy3+2>>0]=HEAP8[$10+2>>0]|0;HEAP8[$$byval_copy3+3>>0]=HEAP8[$10+3>>0]|0; + _DrawText(3347,$82,$84,10,$$byval_copy3); + _EndDrawing(); + STACKTOP = sp;return; } function _GetRandomNumber() { var $0 = 0, $1 = 0, label = 0, sp = 0; @@ -8555,7 +12796,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetCurrentTime()); - HEAPF64[1729] = $1; + HEAPF64[1748] = $1; return; } function _GetCurrentTime() { @@ -8582,7 +12823,7 @@ function _GetCurrentTime() { function _MathClamp() { var $$sink = 0.0, $0 = 0.0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[1727]; + $0 = +HEAPF64[1746]; $1 = $0 < 0.0; if ($1) { $$sink = 0.0; @@ -8594,7 +12835,7 @@ function _MathClamp() { return; } } - HEAPF64[1727] = $$sink; + HEAPF64[1746] = $$sink; return; } function _PhysicsStep() { @@ -8608,16 +12849,16 @@ function _PhysicsStep() { 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; + $0 = HEAP32[7737]|0; $1 = (($0) + 1)|0; - HEAP32[7695] = $1; - $2 = HEAP32[3598]|0; + HEAP32[7737] = $1; + $2 = HEAP32[3636]|0; $$0167 = (($2) + -1)|0; $3 = ($$0167|0)>(-1); if ($3) { $$0168 = $$0167; while(1) { - $6 = (14396 + ($$0168<<2)|0); + $6 = (14548 + ($$0168<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==(0|0); if (!($8)) { @@ -8632,7 +12873,7 @@ function _PhysicsStep() { } } } - $4 = HEAP32[3533]|0; + $4 = HEAP32[3571]|0; $5 = ($4|0)==(0); if ($5) { $17 = $4; @@ -8640,7 +12881,7 @@ function _PhysicsStep() { } else { $$0125165 = 0; while(1) { - $11 = (14136 + ($$0125165<<2)|0); + $11 = (14288 + ($$0125165<<2)|0); $12 = HEAP32[$11>>2]|0; $13 = ((($12)) + 76|0); HEAP32[$13>>2] = 0; @@ -8652,24 +12893,24 @@ function _PhysicsStep() { break; } } - $$pr = HEAP32[3533]|0; + $$pr = HEAP32[3571]|0; $10 = ($$pr|0)==(0); if (!($10)) { $$0126163 = 0; while(1) { - $19 = (14136 + ($$0126163<<2)|0); + $19 = (14288 + ($$0126163<<2)|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)==(0|0); if (!($21)) { $$0130160 = (($$0126163) + 1)|0; - $22 = HEAP32[3533]|0; + $22 = HEAP32[3571]|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); + $26 = (14288 + ($$0130161<<2)|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)==(0|0); do { @@ -8775,7 +13016,7 @@ function _PhysicsStep() { } } while(0); $$0130 = (($$0130161) + 1)|0; - $29 = HEAP32[3533]|0; + $29 = HEAP32[3571]|0; $30 = ($$0130>>>0)<($29>>>0); if ($30) { $$0130161 = $$0130; @@ -8786,7 +13027,7 @@ function _PhysicsStep() { } } $97 = (($$0126163) + 1)|0; - $98 = HEAP32[3533]|0; + $98 = HEAP32[3571]|0; $99 = ($97>>>0)<($98>>>0); if ($99) { $$0126163 = $97; @@ -8801,10 +13042,10 @@ function _PhysicsStep() { if ((label|0) == 8) { $16 = ($17|0)==(0); if (!($16)) { - $18 = HEAP32[3533]|0; + $18 = HEAP32[3571]|0; $$0135158 = 0; while(1) { - $103 = (14136 + ($$0135158<<2)|0); + $103 = (14288 + ($$0135158<<2)|0); $104 = HEAP32[$103>>2]|0; $105 = ($104|0)==(0|0); if (!($105)) { @@ -8820,15 +13061,15 @@ function _PhysicsStep() { } } } - $100 = HEAP32[3598]|0; + $100 = HEAP32[3636]|0; $101 = ($100|0)==(0); if ($101) { $$0134155 = 0;$114 = 0; } else { - $102 = HEAP32[3598]|0; + $102 = HEAP32[3636]|0; $$0136156 = 0; while(1) { - $108 = (14396 + ($$0136156<<2)|0); + $108 = (14548 + ($$0136156<<2)|0); $109 = HEAP32[$108>>2]|0; $110 = ($109|0)==(0|0); if (!($110)) { @@ -8848,12 +13089,12 @@ function _PhysicsStep() { while(1) { if ((label|0) == 32) { label = 0; - $$pr172 = HEAP32[3598]|0; + $$pr172 = HEAP32[3636]|0; $$0134155 = $$0134155$ph;$114 = $$pr172; } $113 = ($114|0)==(0); if (!($113)) { - $115 = (14396 + ($$0134155<<2)|0); + $115 = (14548 + ($$0134155<<2)|0); $$0133152 = 0; while(1) { $120 = HEAP32[$115>>2]|0; @@ -8862,7 +13103,7 @@ function _PhysicsStep() { _IntegratePhysicsImpulses($120); } $122 = (($$0133152) + 1)|0; - $123 = HEAP32[3598]|0; + $123 = HEAP32[3636]|0; $124 = ($122>>>0)<($123>>>0); if ($124) { $$0133152 = $122; @@ -8880,13 +13121,13 @@ function _PhysicsStep() { label = 32; } } - $116 = HEAP32[3533]|0; + $116 = HEAP32[3571]|0; $117 = ($116|0)==(0); if (!($117)) { - $118 = HEAP32[3533]|0; + $118 = HEAP32[3571]|0; $$0131150 = 0; while(1) { - $128 = (14136 + ($$0131150<<2)|0); + $128 = (14288 + ($$0131150<<2)|0); $129 = HEAP32[$128>>2]|0; $130 = ($129|0)==(0|0); if (!($130)) { @@ -8901,13 +13142,13 @@ function _PhysicsStep() { } } } - $125 = HEAP32[3598]|0; + $125 = HEAP32[3636]|0; $126 = ($125|0)==(0); if (!($126)) { - $127 = HEAP32[3598]|0; + $127 = HEAP32[3636]|0; $$0129148 = 0; while(1) { - $136 = (14396 + ($$0129148<<2)|0); + $136 = (14548 + ($$0129148<<2)|0); $137 = HEAP32[$136>>2]|0; $138 = ($137|0)==(0|0); if (!($138)) { @@ -8922,15 +13163,15 @@ function _PhysicsStep() { } } } - $133 = HEAP32[3533]|0; + $133 = HEAP32[3571]|0; $134 = ($133|0)==(0); if ($134) { return; } - $135 = HEAP32[3533]|0; + $135 = HEAP32[3571]|0; $$0127147 = 0; while(1) { - $141 = (14136 + ($$0127147<<2)|0); + $141 = (14288 + ($$0127147<<2)|0); $142 = HEAP32[$141>>2]|0; $143 = ($142|0)==(0|0); if (!($143)) { @@ -8961,16 +13202,16 @@ function _DestroyPhysicsManifold($0) { return; } $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[3598]|0; + $3 = HEAP32[3636]|0; $4 = ($3|0)==(0); L4: do { if ($4) { $$021 = -1; } else { - $5 = HEAP32[3598]|0; + $5 = HEAP32[3636]|0; $$02023 = 0; while(1) { - $6 = (14396 + ($$02023<<2)|0); + $6 = (14548 + ($$02023<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==($2|0); @@ -8989,24 +13230,24 @@ function _DestroyPhysicsManifold($0) { } } } while(0); - $12 = (14396 + ($$021<<2)|0); + $12 = (14548 + ($$021<<2)|0); $13 = HEAP32[$12>>2]|0; _free($13); - $14 = HEAP32[3532]|0; + $14 = HEAP32[3570]|0; $15 = (($14) + -56)|0; - HEAP32[3532] = $15; + HEAP32[3570] = $15; HEAP32[$12>>2] = 0; - $16 = HEAP32[3598]|0; + $16 = HEAP32[3636]|0; $17 = ($$021>>>0)<($16>>>0); if ($17) { - $18 = HEAP32[3598]|0; + $18 = HEAP32[3636]|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); + $24 = (14548 + ($$022<<2)|0); + $25 = (14548 + ($20<<2)|0); $26 = HEAP32[$25>>2]|0; HEAP32[$24>>2] = $26; } @@ -9022,7 +13263,7 @@ function _DestroyPhysicsManifold($0) { $$lcssa = $16; } $19 = (($$lcssa) + -1)|0; - HEAP32[3598] = $19; + HEAP32[3636] = $19; return; } function _CreatePhysicsManifold($0,$1) { @@ -9032,10 +13273,10 @@ function _CreatePhysicsManifold($0,$1) { 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; + $3 = HEAP32[3570]|0; $4 = (($3) + 56)|0; - HEAP32[3532] = $4; - $5 = HEAP32[3598]|0; + HEAP32[3570] = $4; + $5 = HEAP32[3636]|0; $6 = ($5|0)==(0); $$04457 = 0; L1: while(1) { @@ -9046,7 +13287,7 @@ function _CreatePhysicsManifold($0,$1) { $$04755 = 0; } while(1) { - $9 = (14396 + ($$04755<<2)|0); + $9 = (14548 + ($$04755<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$10>>2]|0; $12 = ($11|0)==($$04457|0); @@ -9089,11 +13330,11 @@ function _CreatePhysicsManifold($0,$1) { 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); + $19 = HEAP32[3636]|0; + $20 = (14548 + ($19<<2)|0); HEAP32[$20>>2] = $2; $21 = (($19) + 1)|0; - HEAP32[3598] = $21; + HEAP32[3636] = $21; return ($2|0); } function _SolvePhysicsManifold($0) { @@ -9193,7 +13434,7 @@ function _IntegratePhysicsForces($0) { $8 = +HEAPF32[$7>>2]; $9 = $2 * $8; $10 = $9; - $11 = +HEAPF64[1730]; + $11 = +HEAPF64[1749]; $12 = $11 * 0.5; $13 = $10 * $12; $14 = ((($0)) + 16|0); @@ -9217,7 +13458,7 @@ function _IntegratePhysicsForces($0) { $30 = HEAP32[$29>>2]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = +HEAPF32[7696]; + $32 = +HEAPF32[7738]; $33 = $32; $34 = $12 * $33; $35 = +HEAPF32[$14>>2]; @@ -9225,7 +13466,7 @@ function _IntegratePhysicsForces($0) { $37 = $36 + $34; $38 = $37; HEAPF32[$14>>2] = $38; - $39 = +HEAPF32[2]; + $39 = +HEAPF32[5]; $40 = $39; $41 = $12 * $40; $42 = +HEAPF32[$24>>2]; @@ -9310,13 +13551,13 @@ function _InitializePhysicsManifolds($0) { $39 = ((($7)) + 20|0); $40 = ((($$byval_copy9)) + 4|0); $41 = ((($4)) + 4|0); - $42 = +HEAPF32[7696]; + $42 = +HEAPF32[7738]; $43 = $42; - $44 = +HEAPF64[1730]; + $44 = +HEAPF64[1749]; $45 = $43 * $44; $46 = $45; $47 = ((($5)) + 4|0); - $48 = +HEAPF32[2]; + $48 = +HEAPF32[5]; $49 = $48; $50 = $49 * $44; $51 = $50; @@ -9813,7 +14054,7 @@ function _IntegratePhysicsVelocity($0) { $4 = ((($0)) + 16|0); $5 = +HEAPF32[$4>>2]; $6 = $5; - $7 = +HEAPF64[1730]; + $7 = +HEAPF64[1749]; $8 = $6 * $7; $9 = ((($0)) + 8|0); $10 = +HEAPF32[$9>>2]; @@ -12234,7 +16475,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[7698] = $2; + HEAP32[7740] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -12247,7 +16488,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 13848; + $95 = 14000; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -12260,48 +16501,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 13888; + $106 = 14040; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[3472]; - $111 = +HEAPF32[3462]; + $110 = +HEAPF32[3510]; + $111 = +HEAPF32[3500]; $112 = $110 - $111; - HEAPF32[3474] = $112; - $113 = +HEAPF32[(13892)>>2]; - $114 = +HEAPF32[(13852)>>2]; + HEAPF32[3512] = $112; + $113 = +HEAPF32[(14044)>>2]; + $114 = +HEAPF32[(14004)>>2]; $115 = $113 - $114; - HEAPF32[(13900)>>2] = $115; - HEAP32[7697] = 4; + HEAPF32[(14052)>>2] = $115; + HEAP32[7739] = 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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14032+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[7703] = $116; - $117 = 13880; + HEAPF32[7745] = $116; + $117 = 14032; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 13848; + $123 = 14000; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 13904; + $127 = 14056; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 13888; + $133 = 14040; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -12314,7 +16555,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 13880; + $144 = 14032; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -12327,27 +16568,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 13904; + $155 = 14056; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[3476]; - $160 = +HEAPF32[3470]; + $159 = +HEAPF32[3514]; + $160 = +HEAPF32[3508]; $161 = $159 - $160; - HEAPF32[3474] = $161; - $162 = +HEAPF32[(13908)>>2]; - $163 = +HEAPF32[(13884)>>2]; + HEAPF32[3512] = $161; + $162 = +HEAPF32[(14060)>>2]; + $163 = +HEAPF32[(14036)>>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; + HEAPF32[(14052)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14032+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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -12359,31 +16600,31 @@ function _ProcessGestureEvent($0) { 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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14032+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[7703]; + $170 = +HEAPF32[7745]; $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; + HEAP32[7739] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14032+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14056>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14056+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[7704] = $174; + HEAPF32[7746] = $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; + HEAPF32[7745] = 0.0; + HEAPF32[7746] = 0.0; + HEAPF32[3512] = 0.0; + HEAPF32[(14052)>>2] = 0.0; + HEAP32[7740] = 0; + HEAP32[7739] = 0; STACKTOP = sp;return; break; } @@ -12393,22 +16634,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[7699]|0; + $6 = HEAP32[7741]|0; $7 = (($6) + 1)|0; - HEAP32[7699] = $7; - $8 = HEAP32[7697]|0; + HEAP32[7741] = $7; + $8 = HEAP32[7739]|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[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+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; + HEAP32[7739] = 2; + HEAP32[7741] = 0; } else { label = 6; } @@ -12416,8 +16657,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[7699] = 1; - HEAP32[7697] = 1; + HEAP32[7741] = 1; + HEAP32[7739] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -12426,19 +16667,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 13848; + $21 = 14000; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 13856; + $25 = 14008; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 13864; + $29 = 14016; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -12446,14 +16687,14 @@ function _ProcessGestureEvent($0) { 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; + HEAP32[6] = $34; + HEAPF32[3506] = 0.0; + HEAPF32[(14028)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[7697]|0; + $35 = HEAP32[7739]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12463,31 +16704,31 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 13864; + $44 = 14016; $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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14016>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14016+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[7700] = $49; - HEAP32[7701] = 0; + HEAPF32[7742] = $49; + HEAP32[7743] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { - $51 = HEAP32[3]|0; + $51 = HEAP32[6]|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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14016>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14016+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[7702] = $56; + HEAPF32[7744] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12518,22 +16759,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[7700] = 0.0; - HEAPF32[7702] = 0.0; + HEAPF32[7742] = 0.0; + HEAPF32[7744] = 0.0; $$sink10 = 0; } - HEAP32[7697] = $$sink10; - HEAPF32[3464] = 0.0; - HEAPF32[(13860)>>2] = 0.0; - HEAP32[7698] = 0; + HEAP32[7739] = $$sink10; + HEAPF32[3502] = 0.0; + HEAPF32[(14012)>>2] = 0.0; + HEAP32[7740] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[7701]|0; + $65 = HEAP32[7743]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[7701] = 1; + HEAP32[7743] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12542,31 +16783,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 13880; + $74 = 14032; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[7697]|0; + $78 = HEAP32[7739]|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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14000>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14000+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14032>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14032+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[7697] = 8; + HEAP32[7739] = 8; } } - $82 = +HEAPF32[3470]; - $83 = +HEAPF32[3464]; + $82 = +HEAPF32[3508]; + $83 = +HEAPF32[3502]; $84 = $82 - $83; - HEAPF32[3468] = $84; - $85 = +HEAPF32[(13884)>>2]; - $86 = +HEAPF32[(13860)>>2]; + HEAPF32[3506] = $84; + $85 = +HEAPF32[(14036)>>2]; + $86 = +HEAPF32[(14012)>>2]; $87 = $85 - $86; - HEAPF32[(13876)>>2] = $87; + HEAPF32[(14028)>>2] = $87; STACKTOP = sp;return; break; } @@ -12578,16 +16819,16 @@ function _ProcessGestureEvent($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[7697]|0; + $0 = HEAP32[7739]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[7698]|0; + $2 = HEAP32[7740]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[7697] = 4; + HEAP32[7739] = 4; } - $4 = HEAP32[7697]|0; + $4 = HEAP32[7739]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12600,14 +16841,14 @@ function _UpdateGestures() { return; } } - HEAP32[7697] = 0; + HEAP32[7739] = 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; + $1 = 14064; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12624,13 +16865,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[7707]|0; + $0 = HEAP32[7749]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[7706]|0; + $0 = HEAP32[7748]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -12641,29 +16882,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,3590,$vararg_buffer); - HEAP32[7709] = $2; + _TraceLog(0,3358,$vararg_buffer); + HEAP32[7751] = $2; _InitGraphicsDevice($0,$1); _LoadDefaultFont(); - _InitTimer_9(); + _InitTimer_10(); (_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_keypress_callback((3387|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((3387|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((3387|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((3387|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((3387|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((3387|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; + $3 = HEAP32[7749]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[3478] = $5; - $6 = HEAP32[7706]|0; + HEAPF32[3516] = $5; + $6 = HEAP32[7748]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(13916)>>2] = $8; - $9 = HEAP32[7710]|0; + HEAPF32[(14068)>>2] = $8; + $9 = HEAP32[7752]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -12682,11 +16923,11 @@ function _TraceLog($0,$1,$varargs) { $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; + ;HEAP8[14104>>0]=HEAP8[7916>>0]|0;HEAP8[14104+1>>0]=HEAP8[7916+1>>0]|0;HEAP8[14104+2>>0]=HEAP8[7916+2>>0]|0;HEAP8[14104+3>>0]=HEAP8[7916+3>>0]|0;HEAP8[14104+4>>0]=HEAP8[7916+4>>0]|0;HEAP8[14104+5>>0]=HEAP8[7916+5>>0]|0;HEAP8[14104+6>>0]=HEAP8[7916+6>>0]|0; break; } case 1: { - $3 = 13952; + $3 = 14104; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -12695,11 +16936,11 @@ function _TraceLog($0,$1,$varargs) { 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)); + dest=14104; src=7923; 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; + $7 = 14104; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -12710,16 +16951,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(13952,$1)|0); - $strlen = (_strlen(13952)|0); - $endptr = (13952 + ($strlen)|0); + (_strcat(14104,$1)|0); + $strlen = (_strlen(14104)|0); + $endptr = (14104 + ($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); + (_vprintf(14104,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -12751,22 +16992,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[7707] = $0; - HEAP32[7706] = $1; + HEAP32[7749] = $0; + HEAP32[7748] = $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)); + dest=31084; 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); + _TraceLog(1,4058,$vararg_buffer); } - $6 = HEAP32[7707]|0; - HEAP32[7745] = $6; - $7 = HEAP32[7706]|0; - HEAP32[7746] = $7; + $6 = HEAP32[7749]|0; + HEAP32[7787] = $6; + $7 = HEAP32[7748]|0; + HEAP32[7788] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[33640]|0; + $8 = HEAP8[35960]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -12774,18 +17015,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[33640]|0; + $11 = HEAP8[35960]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[33640]|0; + $14 = HEAP8[35960]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,4316,$vararg_buffer1); + _TraceLog(0,4084,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -12802,18 +17043,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[7747]|0; + $21 = HEAP32[7789]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[7707]|0; - $48 = HEAP32[7706]|0; - $49 = HEAP32[7709]|0; + $47 = HEAP32[7749]|0; + $48 = HEAP32[7748]|0; + $49 = HEAP32[7751]|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; + HEAP32[7747] = $50; + $51 = HEAP32[7749]|0; + HEAP32[7790] = $51; + $52 = HEAP32[7748]|0; + HEAP32[7791] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12822,9 +17063,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[7707]|0; + $27 = HEAP32[7749]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[7706]|0; + $29 = HEAP32[7748]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -12846,87 +17087,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[7745] = $31; - HEAP32[7746] = $34; + HEAP32[7787] = $31; + HEAP32[7788] = $34; } } while(0); - $38 = HEAP32[7745]|0; - $39 = HEAP32[7746]|0; + $38 = HEAP32[7787]|0; + $39 = HEAP32[7788]|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; + _TraceLog(2,4109,$vararg_buffer3); + $40 = HEAP32[7787]|0; + $41 = HEAP32[7788]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[7745]|0; - $43 = HEAP32[7746]|0; - $44 = HEAP32[7709]|0; + $42 = HEAP32[7787]|0; + $43 = HEAP32[7788]|0; + $44 = HEAP32[7751]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[7705] = $46; + HEAP32[7747] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,4379,$vararg_buffer6); + _TraceLog(1,4147,$vararg_buffer6); } else { - _TraceLog(0,4412,$vararg_buffer8); - $55 = HEAP32[7748]|0; - $56 = HEAP32[7749]|0; + _TraceLog(0,4180,$vararg_buffer8); + $55 = HEAP32[7790]|0; + $56 = HEAP32[7791]|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; + _TraceLog(0,4220,$vararg_buffer10); + $57 = HEAP32[7749]|0; + $58 = HEAP32[7748]|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; + _TraceLog(0,4241,$vararg_buffer14); + $59 = HEAP32[7792]|0; + $60 = HEAP32[7793]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,4494,$vararg_buffer18); + _TraceLog(0,4262,$vararg_buffer18); } - $61 = HEAP32[7705]|0; + $61 = HEAP32[7747]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[7705]|0; + $62 = HEAP32[7747]|0; (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); - $63 = HEAP32[7705]|0; + $63 = HEAP32[7747]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[7705]|0; + $64 = HEAP32[7747]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[7705]|0; + $65 = HEAP32[7747]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[7705]|0; + $66 = HEAP32[7747]|0; (_glfwSetCharCallback(($66|0),(3|0))|0); - $67 = HEAP32[7705]|0; + $67 = HEAP32[7747]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[7705]|0; + $68 = HEAP32[7747]|0; (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); - $69 = HEAP32[7705]|0; + $69 = HEAP32[7747]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[33640]|0; + $70 = HEAP8[35960]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[7707]|0; - $74 = HEAP32[7706]|0; + $73 = HEAP32[7749]|0; + $74 = HEAP32[7748]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[7748]|0; - $76 = HEAP32[7750]|0; + $75 = HEAP32[7790]|0; + $76 = HEAP32[7792]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[7749]|0; - $80 = HEAP32[7751]|0; + $79 = HEAP32[7791]|0; + $80 = HEAP32[7793]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12944,19 +17185,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,4519,$vararg_buffer22); - $73 = HEAP32[7707]|0; - $74 = HEAP32[7706]|0; + _TraceLog(0,4287,$vararg_buffer22); + $73 = HEAP32[7749]|0; + $74 = HEAP32[7748]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[7748]|0; - $76 = HEAP32[7750]|0; + $75 = HEAP32[7790]|0; + $76 = HEAP32[7792]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[7749]|0; - $80 = HEAP32[7751]|0; + $79 = HEAP32[7791]|0; + $80 = HEAP32[7793]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -12984,12 +17225,12 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(30884)>>2] = 224; + HEAP32[(31052)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; while(1) { - $3 = (16 + ($$095104<<2)|0); + $3 = (28 + ($$095104<<2)|0); $4 = HEAP32[$3>>2]|0; $$097102 = 31; while(1) { @@ -13025,27 +17266,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[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[31028>>2]=HEAP32[$1>>2]|0;HEAP32[31028+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[31028+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[31028+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[31028+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; + $5 = HEAP32[(31052)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(30888)>>2] = $7; + HEAP32[(31056)>>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[(31048)>>2] = $23; + $24 = HEAP32[7757]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3814,$vararg_buffer); + _TraceLog(0,3582,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(30864)>>2]|0; - $10 = HEAP32[(30884)>>2]|0; - $11 = HEAP32[(30888)>>2]|0; + $9 = HEAP32[(31032)>>2]|0; + $10 = HEAP32[(31052)>>2]|0; + $11 = HEAP32[(31056)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -13057,7 +17298,7 @@ function _LoadDefaultFont() { $30 = (($29) + 1)|0; $31 = (((($27) + ($$0101<<5)|0)) + 8|0); HEAP32[$31>>2] = $30; - $32 = (2064 + ($$0101<<2)|0); + $32 = (2076 + ($$0101<<2)|0); $33 = HEAP32[$32>>2]|0; $34 = (((($27) + ($$0101<<5)|0)) + 12|0); HEAP32[$34>>2] = $33; @@ -13094,19 +17335,19 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(30880)>>2] = $23; - $24 = HEAP32[7715]|0; + HEAP32[(31048)>>2] = $23; + $24 = HEAP32[7757]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3814,$vararg_buffer); + _TraceLog(0,3582,$vararg_buffer); STACKTOP = sp;return; } -function _InitTimer_9() { +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; + HEAPF64[1762] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -13136,7 +17377,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr8>>2] = $10; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,3747,$vararg_buffer4); + _TraceLog(0,3515,$vararg_buffer4); STACKTOP = sp;return 0; } else { HEAP32[$vararg_buffer>>2] = $6; @@ -13146,7 +17387,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr2>>2] = $10; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,3678,$vararg_buffer); + _TraceLog(0,3446,$vararg_buffer); STACKTOP = sp;return 0; } return (0)|0; @@ -13162,7 +17403,7 @@ function _EmscriptenKeyboardCallback($0,$1,$2) { return 0; } $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,3671)|0); + $5 = (_strcmp($4,3439)|0); $6 = ($5|0)==(0); if (!($6)) { return 0; @@ -13265,7 +17506,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 13928; + $31 = 14080; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13278,7 +17519,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (13936); + $42 = (14088); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13334,7 +17575,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (30844 + ($10<<2)|0); + $11 = (31012 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13348,19 +17589,19 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[1740] = $$; + HEAPF64[1759] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; $6 = $1 ? 0.0 : $5; HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,3627,$vararg_buffer); + _TraceLog(0,3395,$vararg_buffer); STACKTOP = sp;return; } function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[7710] = 0; + HEAP32[7752] = 0; return; } function _GetTime() { @@ -13459,7 +17700,7 @@ function _ImageFormat($0,$1) { $6 = ($1|0)<(8); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,4190,$vararg_buffer); + _TraceLog(2,3958,$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; @@ -13936,52 +18177,52 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[7723]|0; + $6 = HEAP32[7765]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); $or$cond100 = $switch & $7; if ($or$cond100) { - _TraceLog(2,3859,$vararg_buffer); + _TraceLog(2,3627,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[7724]|0; + $9 = HEAP32[7766]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,3903,$vararg_buffer1); + _TraceLog(2,3671,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[7725]|0; + $12 = HEAP32[7767]|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); + _TraceLog(2,3716,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[7726]|0; + $15 = HEAP32[7768]|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); + _TraceLog(2,3761,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[7727]|0; + $18 = HEAP32[7769]|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); + _TraceLog(2,3806,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -14019,7 +18260,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[7723]|0; + $22 = HEAP32[7765]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -14027,7 +18268,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[7723]|0; + $24 = HEAP32[7765]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -14035,7 +18276,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[7723]|0; + $26 = HEAP32[7765]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -14043,7 +18284,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[7723]|0; + $28 = HEAP32[7765]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -14051,7 +18292,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[7724]|0; + $30 = HEAP32[7766]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -14059,7 +18300,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[7725]|0; + $32 = HEAP32[7767]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -14067,7 +18308,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[7725]|0; + $34 = HEAP32[7767]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -14075,7 +18316,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[7726]|0; + $36 = HEAP32[7768]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -14083,7 +18324,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[7726]|0; + $38 = HEAP32[7768]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -14091,7 +18332,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[7727]|0; + $40 = HEAP32[7769]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -14099,7 +18340,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[7727]|0; + $42 = HEAP32[7769]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -14107,11 +18348,11 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } default: { - _TraceLog(2,4083,$vararg_buffer9); + _TraceLog(2,3851,$vararg_buffer9); } } } while(0); - $44 = HEAP32[7728]|0; + $44 = HEAP32[7770]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -14126,7 +18367,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,4161,$vararg_buffer15); + _TraceLog(2,3929,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -14135,7 +18376,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,4112,$vararg_buffer11); + _TraceLog(0,3880,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -14409,7 +18650,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,4244,$vararg_buffer); + _TraceLog(2,4012,$vararg_buffer); $$1 = $$0106; } } @@ -14436,7 +18677,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,8110,$vararg_buffer); + _TraceLog(2,7878,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -14457,20 +18698,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[7707]|0; + $3 = HEAP32[7749]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[7706]|0; + $5 = HEAP32[7748]|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; + HEAP32[7790] = $3; + HEAP32[7791] = $5; + HEAP32[7792] = 0; + HEAP32[7793] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14480,13 +18721,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,8044,$vararg_buffer8); + _TraceLog(0,7812,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[7707]|0; + $35 = HEAP32[7749]|0; $36 = (+($35|0)); - $37 = HEAP32[7706]|0; + $37 = HEAP32[7748]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14494,26 +18735,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[7748] = $45; - HEAP32[7749] = $37; + HEAP32[7790] = $45; + HEAP32[7791] = $37; $46 = (($45) - ($35))|0; - HEAP32[7750] = $46; + HEAP32[7792] = $46; $$sink1 = 0; } else { - HEAP32[7748] = $35; + HEAP32[7790] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[7749] = $42; - HEAP32[7750] = 0; + HEAP32[7791] = $42; + HEAP32[7792] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[7751] = $$sink1; + HEAP32[7793] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[7706]|0; + $7 = HEAP32[7748]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14521,13 +18762,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,7901,$vararg_buffer); + _TraceLog(2,7669,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[7707]|0; + $9 = HEAP32[7749]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[7706]|0; + $13 = HEAP32[7748]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14535,37 +18776,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[7748] = $23; - HEAP32[7749] = $1; + HEAP32[7790] = $23; + HEAP32[7791] = $1; $24 = (($0) - ($23))|0; - HEAP32[7750] = $24; + HEAP32[7792] = $24; $$sink = 0; } else { - HEAP32[7748] = $0; - $17 = HEAP32[7706]|0; + HEAP32[7790] = $0; + $17 = HEAP32[7748]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[7749] = $20; - HEAP32[7750] = 0; + HEAP32[7791] = $20; + HEAP32[7792] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[7751] = $$sink; - $25 = HEAP32[7748]|0; + HEAP32[7793] = $$sink; + $25 = HEAP32[7790]|0; $26 = (+($25|0)); - $27 = HEAP32[7707]|0; + $27 = HEAP32[7749]|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; + dest=31084; 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[7790] = $0; + HEAP32[7791] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,7979,$vararg_buffer4); + _TraceLog(2,7747,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -14583,10 +18824,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[7707] = $1; - HEAP32[7706] = $2; - HEAP32[7748] = $1; - HEAP32[7749] = $2; + HEAP32[7749] = $1; + HEAP32[7748] = $2; + HEAP32[7790] = $1; + HEAP32[7791] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -14604,7 +18845,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { $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; + $5 = HEAP32[744]|0; $6 = ($5|0)==($1|0); $7 = ($3|0)==(1); $or$cond = $7 & $6; @@ -14613,12 +18854,12 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (33647 + ($1)|0); + $9 = (35967 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; } - HEAP32[740] = $1; + HEAP32[743] = $1; return; } function _MouseButtonCallback($0,$1,$2,$3) { @@ -14634,7 +18875,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (33641 + ($1)|0); + $7 = (35961 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -14713,7 +18954,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 13928; + $15 = 14080; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -14738,7 +18979,7 @@ function _CharCallback($0,$1) { $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[740] = $1; + HEAP32[743] = $1; return; } function _ScrollCallback($0,$1,$2) { @@ -14748,7 +18989,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[8121] = $3; + HEAP32[8163] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -14758,7 +18999,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[8120] = $$sink; + HEAP32[8162] = $$sink; return; } function _rlglInit($0,$1) { @@ -14798,16 +19039,16 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,4542,$vararg_buffer); + _TraceLog(0,4310,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,4560,$vararg_buffer1); + _TraceLog(0,4328,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,4578,$vararg_buffer4); + _TraceLog(0,4346,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,4596,$vararg_buffer7); + _TraceLog(0,4364,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; @@ -14815,7 +19056,7 @@ function _rlglInit($0,$1) { _memcpy(($14|0),($11|0),($13|0))|0; $$062 = 0;$$sink63 = $14; while(1) { - $15 = (_strtok($$sink63,4614)|0); + $15 = (_strtok($$sink63,4382)|0); $16 = (($vararg_buffer7) + ($$062<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); @@ -14829,41 +19070,41 @@ function _rlglInit($0,$1) { _free($14); $19 = (($$062) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,4616,$vararg_buffer10); + _TraceLog(0,4384,$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); + $25 = (_strcmp($24,4419)|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); + HEAP32[7828] = 1; + $27 = (_eglGetProcAddress((4446|0))|0); + HEAP32[7829] = $27; + $28 = (_eglGetProcAddress((4467|0))|0); + HEAP32[7830] = $28; + $29 = (_eglGetProcAddress((4488|0))|0); + HEAP32[7831] = $29; + } + $30 = (_strcmp($24,4512)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[7728] = 1; + HEAP32[7770] = 1; } - $32 = (_strcmp($24,4764)|0); + $32 = (_strcmp($24,4532)|0); $33 = ($32|0)==(0); if ($33) { label = 12; } else { $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,4796)|0); + $35 = (_strcmp($34,4564)|0); $36 = ($35|0)==(0); if ($36) { label = 12; } else { - $37 = (_strcmp($34,4829)|0); + $37 = (_strcmp($34,4597)|0); $38 = ($37|0)==(0); if ($38) { label = 12; @@ -14872,15 +19113,15 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[7723] = 1; + HEAP32[7765] = 1; } - $39 = (_strcmp($24,4869)|0); + $39 = (_strcmp($24,4637)|0); $40 = ($39|0)==(0); if ($40) { label = 15; } else { $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,4905)|0); + $42 = (_strcmp($41,4673)|0); $43 = ($42|0)==(0); if ($43) { label = 15; @@ -14888,35 +19129,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[7724] = 1; + HEAP32[7766] = 1; } $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,4938)|0); + $45 = (_strcmp($44,4706)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[7725] = 1; + HEAP32[7767] = 1; } - $47 = (_strcmp($44,4963)|0); + $47 = (_strcmp($44,4731)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[7726] = 1; + HEAP32[7768] = 1; } - $49 = (_strcmp($44,4996)|0); + $49 = (_strcmp($44,4764)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[7727] = 1; + HEAP32[7769] = 1; } - $51 = (_strcmp($44,5032)|0); + $51 = (_strcmp($44,4800)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[7790] = 1; - _glGetFloatv(34047,(31164|0)); + HEAP32[7832] = 1; + _glGetFloatv(34047,(31332|0)); } $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,5066)|0); + $54 = (_strcmp($53,4834)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[7792] = 1; + HEAP32[7834] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -14927,77 +19168,77 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[7786]|0; + $21 = HEAP32[7828]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,5169,$vararg_buffer15); + _TraceLog(2,4937,$vararg_buffer15); } else { - _TraceLog(0,5094,$vararg_buffer13); + _TraceLog(0,4862,$vararg_buffer13); } - $57 = HEAP32[7728]|0; + $57 = HEAP32[7770]|0; $58 = ($57|0)==(0); if ($58) { - _TraceLog(2,5305,$vararg_buffer19); + _TraceLog(2,5073,$vararg_buffer19); } else { - _TraceLog(0,5230,$vararg_buffer17); + _TraceLog(0,4998,$vararg_buffer17); } - $59 = HEAP32[7723]|0; + $59 = HEAP32[7765]|0; $60 = ($59|0)==(0); if (!($60)) { - _TraceLog(0,5397,$vararg_buffer21); + _TraceLog(0,5165,$vararg_buffer21); } - $61 = HEAP32[7724]|0; + $61 = HEAP32[7766]|0; $62 = ($61|0)==(0); if (!($62)) { - _TraceLog(0,5443,$vararg_buffer23); + _TraceLog(0,5211,$vararg_buffer23); } - $63 = HEAP32[7725]|0; + $63 = HEAP32[7767]|0; $64 = ($63|0)==(0); if (!($64)) { - _TraceLog(0,5490,$vararg_buffer25); + _TraceLog(0,5258,$vararg_buffer25); } - $65 = HEAP32[7726]|0; + $65 = HEAP32[7768]|0; $66 = ($65|0)==(0); if (!($66)) { - _TraceLog(0,5541,$vararg_buffer27); + _TraceLog(0,5309,$vararg_buffer27); } - $67 = HEAP32[7727]|0; + $67 = HEAP32[7769]|0; $68 = ($67|0)==(0); if (!($68)) { - _TraceLog(0,5588,$vararg_buffer29); + _TraceLog(0,5356,$vararg_buffer29); } - $69 = HEAP32[7790]|0; + $69 = HEAP32[7832]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[7791]; + $71 = +HEAPF32[7833]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,5635,$vararg_buffer31); + _TraceLog(0,5403,$vararg_buffer31); } - $73 = HEAP32[7792]|0; + $73 = HEAP32[7834]|0; $74 = ($73|0)==(0); if (!($74)) { - _TraceLog(0,5701,$vararg_buffer34); + _TraceLog(0,5469,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[7793] = $75; + HEAP32[7835] = $75; $76 = ($75|0)==(0); if ($76) { - _TraceLog(2,5805,$vararg_buffer39); + _TraceLog(2,5573,$vararg_buffer39); } else { HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,5754,$vararg_buffer36); + _TraceLog(0,5522,$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)); + dest=31344; 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=31400; 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; + HEAP32[7864] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[7822]|0; + $79 = HEAP32[7864]|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; @@ -15010,7 +19251,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[7823] = $78; + HEAP32[7865] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -15025,48 +19266,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[7824] = 1; - $85 = HEAP32[7793]|0; + HEAP32[7866] = 1; + $85 = HEAP32[7835]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[7825] = 4; + HEAP32[7867] = 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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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($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)); + dest=(32368); src=$4; stop=dest+64|0; 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)); + dest=(32432); src=$4; stop=dest+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)); + dest=31180; 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; + dest=31244; 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[7794] = 31244; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -15077,21 +19318,21 @@ function _rlglInit($0,$1) { _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); + HEAP32[8124] = $0; + HEAP32[8125] = $1; + _TraceLog(0,5612,$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; + $0 = HEAP32[7792]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[7751]|0; + $2 = HEAP32[7793]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[7748]|0; + $4 = HEAP32[7790]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[7749]|0; + $6 = HEAP32[7791]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -15102,12 +19343,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 31012; + $modelview$sink = 31180; label = 3; break; } case 5888: { - $modelview$sink = 31076; + $modelview$sink = 31244; label = 3; break; } @@ -15115,9 +19356,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[7752] = $modelview$sink; + HEAP32[7794] = $modelview$sink; } - HEAP32[7785] = $0; + HEAP32[7827] = $0; return; } function _rlLoadIdentity() { @@ -15125,7 +19366,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[7752]|0; + $1 = HEAP32[7794]|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; @@ -15146,7 +19387,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[7752]|0; + $8 = HEAP32[7794]|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); @@ -15205,17 +19446,17 @@ function _LoadDefaultShader($0) { $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; + _memcpy(($2|0),(6188|0),489)|0; + _memcpy(($3|0),(6677|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); + _TraceLog(2,7166,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,7350,$vararg_buffer); + _TraceLog(0,7118,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -15243,15 +19484,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(32348)>>2] = $0; + HEAP32[(32516)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(32356)>>2] = $1; - HEAP32[(32352)>>2] = 0; - HEAP32[(32360)>>2] = 0; + HEAP32[(32524)>>2] = $1; + HEAP32[(32520)>>2] = 0; + HEAP32[(32528)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(32356)>>2]|0; + $2 = HEAP32[(32524)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15262,19 +19503,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[8084] = 0; - HEAP32[(32344)>>2] = 0; - HEAP32[(32340)>>2] = 0; + HEAP32[8126] = 0; + HEAP32[(32512)>>2] = 0; + HEAP32[(32508)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(32396)>>2] = $5; + HEAP32[(32564)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(32404)>>2] = $6; - HEAP32[(32400)>>2] = 0; - HEAP32[(32408)>>2] = 0; + HEAP32[(32572)>>2] = $6; + HEAP32[(32568)>>2] = 0; + HEAP32[(32576)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(32404)>>2]|0; + $7 = HEAP32[(32572)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15285,24 +19526,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[8096] = 0; - HEAP32[(32392)>>2] = 0; - HEAP32[(32388)>>2] = 0; + HEAP32[8138] = 0; + HEAP32[(32560)>>2] = 0; + HEAP32[(32556)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(32444)>>2] = $10; + HEAP32[(32612)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(32448)>>2] = $11; + HEAP32[(32616)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(32452)>>2] = $12; + HEAP32[(32620)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(32456)>>2] = $13; - $14 = HEAP32[(32444)>>2]|0; + HEAP32[(32624)>>2] = $13; + $14 = HEAP32[(32612)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(32448)>>2]|0; + $15 = HEAP32[(32616)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(32452)>>2]|0; + $17 = HEAP32[(32620)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15313,7 +19554,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(32456)>>2]|0; + $16 = HEAP32[(32624)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15350,140 +19591,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[8108] = 0; - HEAP32[(32436)>>2] = 0; - HEAP32[(32440)>>2] = 0; - _TraceLog(0,5891,$vararg_buffer); - $20 = HEAP32[7786]|0; + HEAP32[8150] = 0; + HEAP32[(32604)>>2] = 0; + HEAP32[(32608)>>2] = 0; + _TraceLog(0,5659,$vararg_buffer); + $20 = HEAP32[7828]|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; + $43 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(32532)); + $44 = HEAP32[7830]|0; + $45 = HEAP32[(32532)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((32368)|0)); - $46 = HEAP32[(32368)>>2]|0; + _glGenBuffers(2,((32536)|0)); + $46 = HEAP32[(32536)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(32348)>>2]|0; + $47 = HEAP32[(32516)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(31236)>>2]|0; + $48 = HEAP32[(31404)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(31236)>>2]|0; + $49 = HEAP32[(31404)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((32372)|0)); - $50 = HEAP32[(32372)>>2]|0; + _glGenBuffers(2,((32540)|0)); + $50 = HEAP32[(32540)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(32356)>>2]|0; + $51 = HEAP32[(32524)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(31256)>>2]|0; + $52 = HEAP32[(31424)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(31256)>>2]|0; + $53 = HEAP32[(31424)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[7786]|0; + $54 = HEAP32[7828]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(32368)>>2]|0; - $58 = HEAP32[(32372)>>2]|0; + $57 = HEAP32[(32536)>>2]|0; + $58 = HEAP32[(32540)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,6029,$vararg_buffer3); + _TraceLog(0,5797,$vararg_buffer3); } else { - $56 = HEAP32[(32364)>>2]|0; + $56 = HEAP32[(32532)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,5964,$vararg_buffer1); + _TraceLog(0,5732,$vararg_buffer1); } - $59 = HEAP32[7786]|0; + $59 = HEAP32[7828]|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; + $61 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(32580)); + $62 = HEAP32[7830]|0; + $63 = HEAP32[(32580)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((32416)|0)); - $64 = HEAP32[(32416)>>2]|0; + _glGenBuffers(1,((32584)|0)); + $64 = HEAP32[(32584)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(32396)>>2]|0; + $65 = HEAP32[(32564)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(31236)>>2]|0; + $66 = HEAP32[(31404)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(31236)>>2]|0; + $67 = HEAP32[(31404)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((32420)|0)); - $68 = HEAP32[(32420)>>2]|0; + _glGenBuffers(1,((32588)|0)); + $68 = HEAP32[(32588)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(32404)>>2]|0; + $69 = HEAP32[(32572)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(31256)>>2]|0; + $70 = HEAP32[(31424)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(31256)>>2]|0; + $71 = HEAP32[(31424)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[7786]|0; + $72 = HEAP32[7828]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(32416)>>2]|0; - $76 = HEAP32[(32420)>>2]|0; + $75 = HEAP32[(32584)>>2]|0; + $76 = HEAP32[(32588)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,6175,$vararg_buffer10); + _TraceLog(0,5943,$vararg_buffer10); } else { - $74 = HEAP32[(32412)>>2]|0; + $74 = HEAP32[(32580)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,6106,$vararg_buffer7); + _TraceLog(0,5874,$vararg_buffer7); } - $77 = HEAP32[7786]|0; + $77 = HEAP32[7828]|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; + $79 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(32628)); + $80 = HEAP32[7830]|0; + $81 = HEAP32[(32628)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((32464)|0)); - $82 = HEAP32[(32464)>>2]|0; + _glGenBuffers(1,((32632)|0)); + $82 = HEAP32[(32632)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(32444)>>2]|0; + $83 = HEAP32[(32612)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(31236)>>2]|0; + $84 = HEAP32[(31404)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(31236)>>2]|0; + $85 = HEAP32[(31404)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((32468)|0)); - $86 = HEAP32[(32468)>>2]|0; + _glGenBuffers(1,((32636)|0)); + $86 = HEAP32[(32636)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(32448)>>2]|0; + $87 = HEAP32[(32616)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(31240)>>2]|0; + $88 = HEAP32[(31408)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(31240)>>2]|0; + $89 = HEAP32[(31408)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((32472)|0)); - $90 = HEAP32[(32472)>>2]|0; + _glGenBuffers(1,((32640)|0)); + $90 = HEAP32[(32640)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(32452)>>2]|0; + $91 = HEAP32[(32620)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(31256)>>2]|0; + $92 = HEAP32[(31424)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(31256)>>2]|0; + $93 = HEAP32[(31424)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((32476)|0)); - $94 = HEAP32[(32476)>>2]|0; + _glGenBuffers(1,((32644)|0)); + $94 = HEAP32[(32644)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(32456)>>2]|0; + $95 = HEAP32[(32624)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[7786]|0; + $96 = HEAP32[7828]|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; + $99 = HEAP32[(32632)>>2]|0; + $100 = HEAP32[(32636)>>2]|0; + $101 = HEAP32[(32640)>>2]|0; + $102 = HEAP32[(32644)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15491,18 +19732,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,6321,$vararg_buffer17); + _TraceLog(0,6089,$vararg_buffer17); } else { - $98 = HEAP32[(32460)>>2]|0; + $98 = HEAP32[(32628)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,6256,$vararg_buffer14); + _TraceLog(0,6024,$vararg_buffer14); } - $103 = HEAP32[7786]|0; + $103 = HEAP32[7828]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[7788]|0; + $105 = HEAP32[7830]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -15539,10 +19780,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,7654,$vararg_buffer4); + _TraceLog(0,7422,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,7602,$vararg_buffer); + _TraceLog(2,7370,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -15552,7 +19793,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,7651,$vararg_buffer1); + _TraceLog(0,7419,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -15561,10 +19802,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,7755,$vararg_buffer13); + _TraceLog(0,7523,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,7704,$vararg_buffer7); + _TraceLog(2,7472,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -15574,25 +19815,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,7651,$vararg_buffer10); + _TraceLog(0,7419,$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)); + _glBindAttribLocation(($20|0),0,(7214|0)); + _glBindAttribLocation(($20|0),1,(7229|0)); + _glBindAttribLocation(($20|0),2,(7260|0)); + _glBindAttribLocation(($20|0),3,(7287|0)); + _glBindAttribLocation(($20|0),4,(7273|0)); + _glBindAttribLocation(($20|0),5,(7244|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); + _TraceLog(2,7575,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -15602,7 +19843,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,7651,$vararg_buffer19); + _TraceLog(0,7419,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -15611,7 +19852,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,7853,$vararg_buffer22); + _TraceLog(0,7621,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -15626,55 +19867,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(7446|0))|0); + $2 = (_glGetAttribLocation(($1|0),(7214|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(7461|0))|0); + $5 = (_glGetAttribLocation(($4|0),(7229|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(7476|0))|0); + $8 = (_glGetAttribLocation(($7|0),(7244|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(7492|0))|0); + $11 = (_glGetAttribLocation(($10|0),(7260|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(7505|0))|0); + $14 = (_glGetAttribLocation(($13|0),(7273|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(7519|0))|0); + $17 = (_glGetAttribLocation(($16|0),(7287|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(7531|0))|0); + $20 = (_glGetUniformLocation(($19|0),(7299|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(7541|0))|0); + $23 = (_glGetUniformLocation(($22|0),(7309|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(7552|0))|0); + $26 = (_glGetUniformLocation(($25|0),(7320|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(7563|0))|0); + $29 = (_glGetUniformLocation(($28|0),(7331|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(7575|0))|0); + $32 = (_glGetUniformLocation(($31|0),(7343|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(7584|0))|0); + $35 = (_glGetUniformLocation(($34|0),(7352|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(7593|0))|0); + $38 = (_glGetUniformLocation(($37|0),(7361|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -15683,9 +19924,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 = (33641 + ($0)|0); + $1 = (35961 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (33644 + ($0)|0); + $3 = (35964 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15697,9 +19938,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 = (33641 + ($0)|0); + $1 = (35961 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (33644 + ($0)|0); + $3 = (35964 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -15720,10 +19961,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[7705]|0; + $0 = HEAP32[7747]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,8165,$vararg_buffer); + _TraceLog(0,7933,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -15731,9 +19972,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[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; + ;HEAP32[$$byval_copy>>2]=HEAP32[31028>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[31028+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[31028+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[31028+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[31028+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(30888)>>2]|0; + $0 = HEAP32[(31056)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -15744,11 +19985,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(31172|0)); - $0 = HEAP32[7793]|0; + _glDeleteTextures(1,(31340|0)); + $0 = HEAP32[7835]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,8192,$vararg_buffer); - $1 = HEAP32[7823]|0; + _TraceLog(0,7960,$vararg_buffer); + $1 = HEAP32[7865]|0; _free($1); STACKTOP = sp;return; } @@ -15756,17 +19997,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[7794]|0; + $0 = HEAP32[7836]|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; + $0 = HEAP32[7828]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[7788]|0; + $2 = HEAP32[7830]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -15775,39 +20016,39 @@ function _UnloadDefaultBuffers() { _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; + _glDeleteBuffers(1,((32536)|0)); + _glDeleteBuffers(1,((32540)|0)); + _glDeleteBuffers(1,((32584)|0)); + _glDeleteBuffers(1,((32588)|0)); + _glDeleteBuffers(1,((32632)|0)); + _glDeleteBuffers(1,((32636)|0)); + _glDeleteBuffers(1,((32640)|0)); + _glDeleteBuffers(1,((32644)|0)); + $3 = HEAP32[7828]|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; + $5 = HEAP32[7831]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(32532)); + $6 = HEAP32[7831]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(32580)); + $7 = HEAP32[7831]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(32628)); + } + $8 = HEAP32[(32516)>>2]|0; _free($8); - $9 = HEAP32[(32356)>>2]|0; + $9 = HEAP32[(32524)>>2]|0; _free($9); - $10 = HEAP32[(32396)>>2]|0; + $10 = HEAP32[(32564)>>2]|0; _free($10); - $11 = HEAP32[(32404)>>2]|0; + $11 = HEAP32[(32572)>>2]|0; _free($11); - $12 = HEAP32[(32444)>>2]|0; + $12 = HEAP32[(32612)>>2]|0; _free($12); - $13 = HEAP32[(32448)>>2]|0; + $13 = HEAP32[(32616)>>2]|0; _free($13); - $14 = HEAP32[(32452)>>2]|0; + $14 = HEAP32[(32620)>>2]|0; _free($14); - $15 = HEAP32[(32456)>>2]|0; + $15 = HEAP32[(32624)>>2]|0; _free($15); return; } @@ -15825,7 +20066,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,8257,$vararg_buffer); + _TraceLog(0,8025,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -15841,41 +20082,22 @@ function _rlDeleteTextures($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]; + HEAPF64[1779] = $0; + $1 = +HEAPF64[1762]; $2 = $0 - $1; - HEAPF64[1761] = $2; - HEAPF64[1743] = $0; + HEAPF64[1780] = $2; + HEAPF64[1762] = $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)); + dest=$downscaleView$byval_copy; src=31084; stop=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); + _rlMultMatrixf(32656); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -15884,53 +20106,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[8122] = $1; + HEAP32[8164] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(32492)>>2] = $3; + HEAP32[(32660)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(32496)>>2] = $5; + HEAP32[(32664)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(32500)>>2] = $7; + HEAP32[(32668)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(32504)>>2] = $9; + HEAP32[(32672)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(32508)>>2] = $11; + HEAP32[(32676)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(32512)>>2] = $13; + HEAP32[(32680)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(32516)>>2] = $15; + HEAP32[(32684)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(32520)>>2] = $17; + HEAP32[(32688)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(32524)>>2] = $19; + HEAP32[(32692)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(32528)>>2] = $21; + HEAP32[(32696)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(32532)>>2] = $23; + HEAP32[(32700)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(32536)>>2] = $25; + HEAP32[(32704)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(32540)>>2] = $27; + HEAP32[(32708)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(32544)>>2] = $29; + HEAP32[(32712)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(32548)>>2] = $31; - return (32488|0); + HEAP32[(32716)>>2] = $31; + return (32656|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -16005,7 +20227,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[7752]|0; + $49 = HEAP32[7794]|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); @@ -16019,15 +20241,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[1760] = $0; - $1 = +HEAPF64[1743]; + HEAPF64[1779] = $0; + $1 = +HEAPF64[1762]; $2 = $0 - $1; - HEAPF64[1762] = $2; - HEAPF64[1743] = $0; - $3 = +HEAPF64[1761]; + HEAPF64[1781] = $2; + HEAPF64[1762] = $0; + $3 = +HEAPF64[1780]; $4 = $2 + $3; - HEAPF64[1763] = $4; - $5 = +HEAPF64[1740]; + HEAPF64[1782] = $4; + $5 = +HEAPF64[1759]; $6 = $4 < $5; if (!($6)) { return; @@ -16037,13 +20259,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[1760] = $10; - $11 = +HEAPF64[1743]; + HEAPF64[1779] = $10; + $11 = +HEAPF64[1762]; $12 = $10 - $11; - HEAPF64[1743] = $10; - $13 = +HEAPF64[1763]; + HEAPF64[1762] = $10; + $13 = +HEAPF64[1782]; $14 = $12 + $13; - HEAPF64[1763] = $14; + HEAPF64[1782] = $14; return; } function _rlglDraw() { @@ -16056,7 +20278,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[7705]|0; + $0 = HEAP32[7747]|0; _glfwSwapBuffers(($0|0)); return; } @@ -16070,22 +20292,22 @@ function _PollInputEvents() { $1 = sp + 1432|0; $2 = sp; _UpdateGestures(); - HEAP32[740] = -1; - HEAP32[742] = -1; - HEAP32[8138] = 0; - $3 = HEAP32[7705]|0; + HEAP32[743] = -1; + HEAP32[745] = -1; + HEAP32[8180] = 0; + $3 = HEAP32[7747]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[3478] = $5; + HEAPF32[3516] = $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; + HEAPF32[(14068)>>2] = $7; + _memcpy((36479|0),(35967|0),512)|0; + ;HEAP8[35964>>0]=HEAP8[35961>>0]|0;HEAP8[35964+1>>0]=HEAP8[35961+1>>0]|0;HEAP8[35964+2>>0]=HEAP8[35961+2>>0]|0; + $8 = HEAP32[8163]|0; + HEAP32[7750] = $8; + HEAP32[8163] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -16095,8 +20317,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (34671 + ($$05160<<5)|0); - $scevgep67 = (34799 + ($$05160<<5)|0); + $scevgep = (36991 + ($$05160<<5)|0); + $scevgep67 = (37119 + ($$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); @@ -16110,10 +20332,10 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((34799 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((37119 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; - HEAP32[742] = $$04857; + HEAP32[745] = $$04857; } else { HEAP8[$24>>0] = 0; } @@ -16137,7 +20359,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((32556 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((32724 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -16153,7 +20375,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[8138] = $$lcssa; + HEAP32[8180] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -16194,87 +20416,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[8084]|0; + $0 = HEAP32[8126]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[7786]|0; + $2 = HEAP32[7828]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[7788]|0; - $5 = HEAP32[(32364)>>2]|0; + $4 = HEAP32[7830]|0; + $5 = HEAP32[(32532)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(32368)>>2]|0; + $6 = HEAP32[(32536)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[8084]|0; + $7 = HEAP32[8126]|0; $8 = ($7*12)|0; - $9 = HEAP32[(32348)>>2]|0; + $9 = HEAP32[(32516)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(32372)>>2]|0; + $10 = HEAP32[(32540)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(32344)>>2]|0; + $11 = HEAP32[(32512)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(32356)>>2]|0; + $13 = HEAP32[(32524)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[8096]|0; + $14 = HEAP32[8138]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[7786]|0; + $16 = HEAP32[7828]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[7788]|0; - $19 = HEAP32[(32412)>>2]|0; + $18 = HEAP32[7830]|0; + $19 = HEAP32[(32580)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(32416)>>2]|0; + $20 = HEAP32[(32584)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[8096]|0; + $21 = HEAP32[8138]|0; $22 = ($21*12)|0; - $23 = HEAP32[(32396)>>2]|0; + $23 = HEAP32[(32564)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(32420)>>2]|0; + $24 = HEAP32[(32588)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(32392)>>2]|0; + $25 = HEAP32[(32560)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(32404)>>2]|0; + $27 = HEAP32[(32572)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[8108]|0; + $28 = HEAP32[8150]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[7786]|0; + $30 = HEAP32[7828]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[7788]|0; - $33 = HEAP32[(32460)>>2]|0; + $32 = HEAP32[7830]|0; + $33 = HEAP32[(32628)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(32464)>>2]|0; + $34 = HEAP32[(32632)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[8108]|0; + $35 = HEAP32[8150]|0; $36 = ($35*12)|0; - $37 = HEAP32[(32444)>>2]|0; + $37 = HEAP32[(32612)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(32468)>>2]|0; + $38 = HEAP32[(32636)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[8108]|0; + $39 = HEAP32[8150]|0; $40 = $39 << 3; - $41 = HEAP32[(32448)>>2]|0; + $41 = HEAP32[(32616)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(32472)>>2]|0; + $42 = HEAP32[(32640)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[8108]|0; + $43 = HEAP32[8150]|0; $44 = $43 << 2; - $45 = HEAP32[(32452)>>2]|0; + $45 = HEAP32[(32620)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[7786]|0; + $46 = HEAP32[7828]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[7788]|0; + $48 = HEAP32[7830]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16292,9 +20514,9 @@ function _DrawDefaultBuffers() { $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; + dest=$0; src=31180; stop=dest+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=31244; stop=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[8213]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16304,134 +20526,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[8084]|0; + $8 = HEAP32[8126]|0; $9 = ($8|0)>(0); - $10 = HEAP32[8096]|0; + $10 = HEAP32[8138]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[8108]|0; + $12 = HEAP32[8150]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[7808]|0; + $14 = HEAP32[7850]|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)); + dest=$modelview$byval_copy; src=31244; stop=dest+64|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=31180; stop=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; + $15 = HEAP32[(31428)>>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; + $17 = HEAP32[(31432)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(31276)>>2]|0; + $18 = HEAP32[(31444)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[8084]|0; + $19 = HEAP32[8126]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[7793]|0; + $21 = HEAP32[7835]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[7786]|0; + $22 = HEAP32[7828]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(32368)>>2]|0; + $26 = HEAP32[(32536)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(31236)>>2]|0; + $27 = HEAP32[(31404)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(31236)>>2]|0; + $28 = HEAP32[(31404)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(32372)>>2]|0; + $29 = HEAP32[(32540)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(31256)>>2]|0; + $30 = HEAP32[(31424)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(31256)>>2]|0; + $31 = HEAP32[(31424)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[7788]|0; - $25 = HEAP32[(32364)>>2]|0; + $24 = HEAP32[7830]|0; + $25 = HEAP32[(32532)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[8084]|0; + $32 = HEAP32[8126]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[7786]|0; + $33 = HEAP32[7828]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[8096]|0; + $35 = HEAP32[8138]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[7793]|0; + $37 = HEAP32[7835]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[7786]|0; + $38 = HEAP32[7828]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(32416)>>2]|0; + $42 = HEAP32[(32584)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(31236)>>2]|0; + $43 = HEAP32[(31404)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(31236)>>2]|0; + $44 = HEAP32[(31404)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(32420)>>2]|0; + $45 = HEAP32[(32588)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(31256)>>2]|0; + $46 = HEAP32[(31424)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(31256)>>2]|0; + $47 = HEAP32[(31424)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[7788]|0; - $41 = HEAP32[(32412)>>2]|0; + $40 = HEAP32[7830]|0; + $41 = HEAP32[(32580)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[8096]|0; + $48 = HEAP32[8138]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[7786]|0; + $49 = HEAP32[7828]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[8108]|0; + $51 = HEAP32[8150]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[7786]|0; + $53 = HEAP32[7828]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(32464)>>2]|0; + $57 = HEAP32[(32632)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(31236)>>2]|0; + $58 = HEAP32[(31404)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(31236)>>2]|0; + $59 = HEAP32[(31404)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(32468)>>2]|0; + $60 = HEAP32[(32636)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(31240)>>2]|0; + $61 = HEAP32[(31408)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(31240)>>2]|0; + $62 = HEAP32[(31408)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(32472)>>2]|0; + $63 = HEAP32[(32640)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(31256)>>2]|0; + $64 = HEAP32[(31424)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(31256)>>2]|0; + $65 = HEAP32[(31424)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(32476)>>2]|0; + $66 = HEAP32[(32644)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[7788]|0; - $56 = HEAP32[(32460)>>2]|0; + $55 = HEAP32[7830]|0; + $56 = HEAP32[(32628)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[7824]|0; + $67 = HEAP32[7866]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[7823]|0; + $71 = HEAP32[7865]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16442,14 +20664,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[7823]|0; + $80 = HEAP32[7865]|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; + $87 = HEAP32[7866]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16458,7 +20680,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[7786]|0; + $69 = HEAP32[7828]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16466,10 +20688,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[7786]|0; + $89 = HEAP32[7828]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[7788]|0; + $91 = HEAP32[7830]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16481,22 +20703,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[7824] = 1; - $5 = HEAP32[7793]|0; - $6 = HEAP32[7823]|0; + HEAP32[7866] = 1; + $5 = HEAP32[7835]|0; + $6 = HEAP32[7865]|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)); + HEAP32[8126] = 0; + HEAP32[(32512)>>2] = 0; + HEAP32[8138] = 0; + HEAP32[(32560)>>2] = 0; + HEAP32[8150] = 0; + HEAP32[(32604)>>2] = 0; + HEAP32[(32608)>>2] = 0; + HEAPF32[746] = -1.0; + dest=31180; 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=31244; 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) { @@ -16511,17 +20733,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[8082]|0; + $5 = HEAP32[8124]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[8083]|0; + $9 = HEAP32[8125]|0; _rlViewport($7,0,$8,$9); - $10 = (32916 + ($0<<6)|0); + $10 = (33084 + ($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); + $11 = (32956 + ($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); @@ -16533,14 +20755,14 @@ 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)); + dest=31244; 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)); + dest=31180; 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() { @@ -16548,43 +20770,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[8261]|0; + $0 = HEAP32[8303]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,8307,$vararg_buffer); + _TraceLog(1,8075,$vararg_buffer); } - $2 = HEAP32[8261]|0; - $3 = (31304 + ($2<<6)|0); - $4 = HEAP32[7752]|0; + $2 = HEAP32[8303]|0; + $3 = (31472 + ($2<<6)|0); + $4 = HEAP32[7794]|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; + $5 = HEAP32[8303]|0; $6 = (($5) + 1)|0; - HEAP32[8261] = $6; - $7 = HEAP32[7785]|0; + HEAP32[8303] = $6; + $7 = HEAP32[7827]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[8262] = 1; + HEAP32[8304] = 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; + $0 = HEAP32[8303]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[8261]|0; + $2 = HEAP32[8303]|0; $3 = (($2) + -1)|0; - $4 = (31304 + ($3<<6)|0); - $5 = HEAP32[7752]|0; + $4 = (31472 + ($3<<6)|0); + $5 = HEAP32[7794]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[8261] = $6; + HEAP32[8303] = $6; return; } function _GetFPS() { @@ -16598,7 +20820,7 @@ function _GetFPS() { function _GetFrameTime() { var $0 = 0.0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[1763]; + $0 = +HEAPF64[1782]; $1 = $0; return (+$1); } @@ -16606,28 +20828,28 @@ 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; + HEAP8[35960] = $0; $1 = $0 & 1; $2 = ($1<<24>>24)==(0); if (!($2)) { - HEAP32[7710] = 1; + HEAP32[7752] = 1; } - $3 = HEAP8[33640]|0; + $3 = HEAP8[35960]|0; $4 = $3 & 2; $5 = ($4<<24>>24)==(0); if ($5) { return; } - HEAP32[7747] = 1; + HEAP32[7789] = 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); + $1 = (35967 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (34159 + ($0)|0); + $3 = (36479 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16648,7 +20870,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[7752]|0; + $5 = HEAP32[7794]|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); @@ -16681,7 +20903,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[7752]|0; + $11 = HEAP32[7794]|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); @@ -16692,7 +20914,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[7825] = $0; + HEAP32[7867] = $0; return; } function _rlEnd() { @@ -16708,21 +20930,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[8262]|0; + $0 = HEAP32[8304]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[8263]|0; + $2 = HEAP32[8305]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[7822]|0; + $6 = HEAP32[7864]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[7752]|0; + $8 = HEAP32[7794]|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; + $5 = HEAP32[8305]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -16730,12 +20952,12 @@ function _rlEnd() { break; } } - HEAP32[8262] = 0; + HEAP32[8304] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[7822]|0; + $11 = HEAP32[7864]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -16744,7 +20966,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[8263]|0; + $19 = HEAP32[8305]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -16754,20 +20976,20 @@ function _rlEnd() { } } } else { - HEAP32[8262] = 0; + HEAP32[8304] = 0; } - HEAP32[8263] = 0; + HEAP32[8305] = 0; } - $21 = HEAP32[7825]|0; + $21 = HEAP32[7867]|0; switch ($21|0) { case 1: { - $22 = HEAP32[8084]|0; - $23 = HEAP32[(32344)>>2]|0; + $22 = HEAP32[8126]|0; + $23 = HEAP32[(32512)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } $25 = (($22) - ($23))|0; @@ -16775,22 +20997,22 @@ function _rlEnd() { if ($26) { $$04347 = 0; } else { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(32356)>>2]|0; - $28 = HEAP32[(32344)>>2]|0; + $27 = HEAP32[(32524)>>2]|0; + $28 = HEAP32[(32512)>>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; + $34 = HEAP32[(32524)>>2]|0; + $35 = HEAP32[(32512)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -16798,8 +21020,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(32356)>>2]|0; - $43 = HEAP32[(32344)>>2]|0; + $42 = HEAP32[(32524)>>2]|0; + $43 = HEAP32[(32512)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -16807,8 +21029,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(32356)>>2]|0; - $51 = HEAP32[(32344)>>2]|0; + $50 = HEAP32[(32524)>>2]|0; + $51 = HEAP32[(32512)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -16816,9 +21038,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(32344)>>2]|0; + $58 = HEAP32[(32512)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(32344)>>2] = $59; + HEAP32[(32512)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -16827,20 +21049,20 @@ function _rlEnd() { $$04347 = $60; } } - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; break; } case 4: { - $61 = HEAP32[8096]|0; - $62 = HEAP32[(32392)>>2]|0; + $61 = HEAP32[8138]|0; + $62 = HEAP32[(32560)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } $64 = (($61) - ($62))|0; @@ -16848,22 +21070,22 @@ function _rlEnd() { if ($65) { $$04248 = 0; } else { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(32404)>>2]|0; - $67 = HEAP32[(32392)>>2]|0; + $66 = HEAP32[(32572)>>2]|0; + $67 = HEAP32[(32560)>>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; + $73 = HEAP32[(32572)>>2]|0; + $74 = HEAP32[(32560)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -16871,8 +21093,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(32404)>>2]|0; - $82 = HEAP32[(32392)>>2]|0; + $81 = HEAP32[(32572)>>2]|0; + $82 = HEAP32[(32560)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -16880,8 +21102,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(32404)>>2]|0; - $90 = HEAP32[(32392)>>2]|0; + $89 = HEAP32[(32572)>>2]|0; + $90 = HEAP32[(32560)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -16889,9 +21111,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(32392)>>2]|0; + $97 = HEAP32[(32560)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(32392)>>2] = $98; + HEAP32[(32560)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -16900,15 +21122,15 @@ function _rlEnd() { $$04248 = $99; } } - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; break; } case 7: { - $100 = HEAP32[8108]|0; - $101 = HEAP32[(32440)>>2]|0; + $100 = HEAP32[8150]|0; + $101 = HEAP32[(32608)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -16916,16 +21138,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(32452)>>2]|0; - $106 = HEAP32[(32440)>>2]|0; + $105 = HEAP32[(32620)>>2]|0; + $106 = HEAP32[(32608)>>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; + $112 = HEAP32[(32620)>>2]|0; + $113 = HEAP32[(32608)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -16933,8 +21155,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(32452)>>2]|0; - $121 = HEAP32[(32440)>>2]|0; + $120 = HEAP32[(32620)>>2]|0; + $121 = HEAP32[(32608)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -16942,8 +21164,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(32452)>>2]|0; - $129 = HEAP32[(32440)>>2]|0; + $128 = HEAP32[(32620)>>2]|0; + $129 = HEAP32[(32608)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -16951,9 +21173,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(32440)>>2]|0; + $136 = HEAP32[(32608)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(32440)>>2] = $137; + HEAP32[(32608)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -16964,17 +21186,17 @@ function _rlEnd() { } } } - $139 = HEAP32[8108]|0; - $140 = HEAP32[(32436)>>2]|0; + $139 = HEAP32[8150]|0; + $140 = HEAP32[(32604)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(32448)>>2]|0; - $$promoted = HEAP32[(32436)>>2]|0; + $142 = HEAP32[(32616)>>2]|0; + $$promoted = HEAP32[(32604)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -16982,17 +21204,17 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(32436)>>2] = $147; - $148 = +HEAPF32[743]; + HEAP32[(32604)>>2] = $147; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; break; } default: { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } } @@ -17009,11 +21231,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[8262]|0; + $3 = HEAP32[8304]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[7822]|0; - $6 = HEAP32[8263]|0; + $5 = HEAP32[7864]|0; + $6 = HEAP32[8305]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -17021,16 +21243,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[8263] = $10; + HEAP32[8305] = $10; STACKTOP = sp;return; } - $11 = HEAP32[7825]|0; + $11 = HEAP32[7867]|0; switch ($11|0) { case 1: { - $12 = HEAP32[8084]|0; + $12 = HEAP32[8126]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(32348)>>2]|0; + $14 = HEAP32[(32516)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -17041,19 +21263,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[8084] = $21; + HEAP32[8126] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,8345,$vararg_buffer); + _TraceLog(1,8113,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[8096]|0; + $22 = HEAP32[8138]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(32396)>>2]|0; + $24 = HEAP32[(32564)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -17064,19 +21286,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[8096] = $31; + HEAP32[8138] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,8370,$vararg_buffer1); + _TraceLog(1,8138,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[8108]|0; + $32 = HEAP32[8150]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(32444)>>2]|0; + $34 = HEAP32[(32612)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -17087,9 +21309,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[8108] = $41; - $42 = HEAP32[7823]|0; - $43 = HEAP32[7824]|0; + HEAP32[8150] = $41; + $42 = HEAP32[7865]|0; + $43 = HEAP32[7866]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -17097,7 +21319,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,8399,$vararg_buffer3); + _TraceLog(1,8167,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -17112,7 +21334,7 @@ function _rlVertex2f($0,$1) { $1 = +$1; var $2 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $2 = +HEAPF32[743]; + $2 = +HEAPF32[746]; _rlVertex3f($0,$1,$2); return; } @@ -17121,13 +21343,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[7825]|0; + $2 = HEAP32[7867]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(32448)>>2]|0; - $5 = HEAP32[(32436)>>2]|0; + $4 = HEAP32[(32616)>>2]|0; + $5 = HEAP32[(32604)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -17135,7 +21357,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(32436)>>2] = $10; + HEAP32[(32604)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -17154,18 +21376,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[7825]|0; + $4 = HEAP32[7867]|0; switch ($4|0) { case 1: { - $$sink37 = (32344);$$sink38 = (32356); + $$sink37 = (32512);$$sink38 = (32524); break; } case 4: { - $$sink37 = (32392);$$sink38 = (32404); + $$sink37 = (32560);$$sink38 = (32572); break; } case 7: { - $$sink37 = (32440);$$sink38 = (32452); + $$sink37 = (32608);$$sink38 = (32620); break; } default: { @@ -17204,8 +21426,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[7823]|0; - $2 = HEAP32[7824]|0; + $1 = HEAP32[7865]|0; + $2 = HEAP32[7866]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -17218,9 +21440,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[7824] = $10; + HEAP32[7866] = $10; } - $11 = HEAP32[7824]|0; + $11 = HEAP32[7866]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -17231,7 +21453,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[8108]|0; + $0 = HEAP32[8150]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -17269,7 +21491,7 @@ 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; + ;HEAP32[$0>>2]=HEAP32[31028>>2]|0;HEAP32[$0+4>>2]=HEAP32[31028+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[31028+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[31028+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[31028+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[31028+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[31028+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[31028+28>>2]|0; return; } function _MeasureTextEx($0,$1,$2,$3,$4) { @@ -17745,8 +21967,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(34927,$0,$1)|0); - STACKTOP = sp;return (34927|0); + (_vsprintf(37247,$0,$1)|0); + STACKTOP = sp;return (37247|0); } function _MeasureText($0,$1) { $0 = $0|0; @@ -17785,22 +22007,22 @@ 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[8264]|0; - $4 = HEAP32[744]|0; + $3 = HEAP32[8306]|0; + $4 = HEAP32[747]|0; $5 = ($3|0)<($4|0); if ($5) { $6 = (($3) + 1)|0; $$sink = $6; } else { $7 = (_GetFPS()|0); - HEAP32[8265] = $7; - HEAP32[744] = $7; + HEAP32[8307] = $7; + HEAP32[747] = $7; $$sink = 0; } - HEAP32[8264] = $$sink; - $8 = HEAP32[8265]|0; + HEAP32[8306] = $$sink; + $8 = HEAP32[8307]|0; HEAP32[$$byval_copy>>2] = $8; - (_FormatText(8424,$$byval_copy)|0); + (_FormatText(8192,$$byval_copy)|0); HEAP8[$2>>0] = 0; $9 = ((($2)) + 1|0); HEAP8[$9>>0] = -98; @@ -17809,7 +22031,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(34927,$0,$1,20,$$byval_copy); + _DrawText(37247,$0,$1,20,$$byval_copy); STACKTOP = sp;return; } function _emscripten_GetProcAddress($0) { @@ -17858,7 +22080,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,8432)|0); + $12 = (_strstr($11,8200)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -17867,7 +22089,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,8436)|0); + $17 = (_strstr($16,8204)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -17876,7 +22098,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,8440)|0); + $22 = (_strstr($21,8208)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -17885,7 +22107,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,8444)|0); + $27 = (_strstr($26,8212)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -17894,1210 +22116,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,8450)|0); + $32 = (_strcmp($31,8218)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,8488)|0); + $35 = (_strcmp($34,8256)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 8507; + HEAP32[$3>>2] = 8275; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,8520)|0); + $38 = (_strcmp($37,8288)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 8541; + HEAP32[$3>>2] = 8309; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,8556)|0); + $41 = (_strcmp($40,8324)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 8571; + HEAP32[$3>>2] = 8339; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,8586)|0); + $44 = (_strcmp($43,8354)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 8601; + HEAP32[$3>>2] = 8369; } } else { - HEAP32[$3>>2] = 8472; + HEAP32[$3>>2] = 8240; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,8616)|0); + $47 = (_strcmp($46,8384)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,8630)|0); + $50 = (_strcmp($49,8398)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,8642)|0); + $53 = (_strcmp($52,8410)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 6; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,8656)|0); + $56 = (_strcmp($55,8424)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 7; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,8668)|0); + $59 = (_strcmp($58,8436)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 8; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,8682)|0); + $62 = (_strcmp($61,8450)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 9; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,8696)|0); + $65 = (_strcmp($64,8464)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 10; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,8713)|0); + $68 = (_strcmp($67,8481)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,8736)|0); + $71 = (_strcmp($70,8504)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,8762)|0); + $74 = (_strcmp($73,8530)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,8775)|0); + $77 = (_strcmp($76,8543)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,8791)|0); + $80 = (_strcmp($79,8559)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,8804)|0); + $83 = (_strcmp($82,8572)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 11; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,8818)|0); + $86 = (_strcmp($85,8586)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,8838)|0); + $89 = (_strcmp($88,8606)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,8858)|0); + $92 = (_strcmp($91,8626)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,8875)|0); + $95 = (_strcmp($94,8643)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,8892)|0); + $98 = (_strcmp($97,8660)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,8904)|0); + $101 = (_strcmp($100,8672)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 12; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,8917)|0); + $104 = (_strcmp($103,8685)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 13; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,8933)|0); + $107 = (_strcmp($106,8701)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,8956)|0); + $110 = (_strcmp($109,8724)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,8969)|0); + $113 = (_strcmp($112,8737)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,8985)|0); + $116 = (_strcmp($115,8753)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,8996)|0); + $119 = (_strcmp($118,8764)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 14; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,9015)|0); + $122 = (_strcmp($121,8783)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 15; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,9037)|0); + $125 = (_strcmp($124,8805)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 16; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,9056)|0); + $128 = (_strcmp($127,8824)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,9085)|0); + $131 = (_strcmp($130,8853)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,9102)|0); + $134 = (_strcmp($133,8870)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,9117)|0); + $137 = (_strcmp($136,8885)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,9132)|0); + $140 = (_strcmp($139,8900)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,9153)|0); + $143 = (_strcmp($142,8921)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,9173)|0); + $146 = (_strcmp($145,8941)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,9193)|0); + $149 = (_strcmp($148,8961)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,9219)|0); + $152 = (_strcmp($151,8987)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,9238)|0); + $155 = (_strcmp($154,9006)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,9250)|0); + $158 = (_strcmp($157,9018)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,9262)|0); + $161 = (_strcmp($160,9030)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,9274)|0); + $164 = (_strcmp($163,9042)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,9286)|0); + $167 = (_strcmp($166,9054)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 17; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,9298)|0); + $170 = (_strcmp($169,9066)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,9310)|0); + $173 = (_strcmp($172,9078)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,9322)|0); + $176 = (_strcmp($175,9090)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,9334)|0); + $179 = (_strcmp($178,9102)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,9347)|0); + $182 = (_strcmp($181,9115)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,9360)|0); + $185 = (_strcmp($184,9128)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,9373)|0); + $188 = (_strcmp($187,9141)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,9386)|0); + $191 = (_strcmp($190,9154)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,9399)|0); + $194 = (_strcmp($193,9167)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,9412)|0); + $197 = (_strcmp($196,9180)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,9425)|0); + $200 = (_strcmp($199,9193)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,9438)|0); + $203 = (_strcmp($202,9206)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,9457)|0); + $206 = (_strcmp($205,9225)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,9476)|0); + $209 = (_strcmp($208,9244)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,9495)|0); + $212 = (_strcmp($211,9263)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 18; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,9508)|0); + $215 = (_strcmp($214,9276)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 19; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,9526)|0); + $218 = (_strcmp($217,9294)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 20; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,9544)|0); + $221 = (_strcmp($220,9312)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 21; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,9562)|0); + $224 = (_strcmp($223,9330)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 22; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,9580)|0); + $227 = (_strcmp($226,9348)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,9600)|0); + $230 = (_strcmp($229,9368)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,8541)|0); + $233 = (_strcmp($232,8309)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,9618)|0); + $236 = (_strcmp($235,9386)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,9633)|0); + $239 = (_strcmp($238,9401)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,9654)|0); + $242 = (_strcmp($241,9422)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,9669)|0); + $245 = (_strcmp($244,9437)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,9687)|0); + $248 = (_strcmp($247,9455)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,9703)|0); + $251 = (_strcmp($250,9471)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,9722)|0); + $254 = (_strcmp($253,9490)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,9736)|0); + $257 = (_strcmp($256,9504)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,9751)|0); + $260 = (_strcmp($259,9519)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,8472)|0); + $263 = (_strcmp($262,8240)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,9762)|0); + $266 = (_strcmp($265,9530)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,8571)|0); + $269 = (_strcmp($268,8339)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 23; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,8601)|0); + $272 = (_strcmp($271,8369)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 24; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,9778)|0); + $275 = (_strcmp($274,9546)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,9805)|0); + $278 = (_strcmp($277,9573)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,9819)|0); + $281 = (_strcmp($280,9587)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,8507)|0); + $284 = (_strcmp($283,8275)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,9839)|0); + $287 = (_strcmp($286,9607)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,9857)|0); + $290 = (_strcmp($289,9625)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,9869)|0); + $293 = (_strcmp($292,9637)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,9890)|0); + $296 = (_strcmp($295,9658)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 25; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,9908)|0); + $299 = (_strcmp($298,9676)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 26; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,9926)|0); + $302 = (_strcmp($301,9694)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 27; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,9947)|0); + $305 = (_strcmp($304,9715)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,9973)|0); + $308 = (_strcmp($307,9741)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,9996)|0); + $311 = (_strcmp($310,9764)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,10034)|0); + $314 = (_strcmp($313,9802)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,10050)|0); + $317 = (_strcmp($316,9818)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,10065)|0); + $320 = (_strcmp($319,9833)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,10088)|0); + $323 = (_strcmp($322,9856)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,10101)|0); + $326 = (_strcmp($325,9869)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 28; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,10115)|0); + $329 = (_strcmp($328,9883)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 29; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,10129)|0); + $332 = (_strcmp($331,9897)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,10149)|0); + $335 = (_strcmp($334,9917)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,10169)|0); + $338 = (_strcmp($337,9937)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,10185)|0); + $341 = (_strcmp($340,9953)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,10203)|0); + $344 = (_strcmp($343,9971)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,10219)|0); + $347 = (_strcmp($346,9987)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,10234)|0); + $350 = (_strcmp($349,10002)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,10256)|0); + $353 = (_strcmp($352,10024)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 30; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,10274)|0); + $356 = (_strcmp($355,10042)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 31; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,10295)|0); + $359 = (_strcmp($358,10063)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,10313)|0); + $362 = (_strcmp($361,10081)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,10326)|0); + $365 = (_strcmp($364,10094)|0); $366 = ($365|0)!=(0); if (!($366)) { - HEAP32[$1>>2] = 1; + HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,10341)|0); + $368 = (_strcmp($367,10109)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,10355)|0); + $371 = (_strcmp($370,10123)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,10365)|0); + $374 = (_strcmp($373,10133)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,10375)|0); + $377 = (_strcmp($376,10143)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,10397)|0); + $380 = (_strcmp($379,10165)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,10423)|0); + $383 = (_strcmp($382,10191)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,10450)|0); + $386 = (_strcmp($385,10218)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,10463)|0); + $389 = (_strcmp($388,10231)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,10478)|0); + $392 = (_strcmp($391,10246)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,10493)|0); + $395 = (_strcmp($394,10261)|0); $396 = ($395|0)!=(0); if (!($396)) { - HEAP32[$1>>2] = 2; + HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,10517)|0); + $398 = (_strcmp($397,10285)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,10528)|0); + $401 = (_strcmp($400,10296)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 32; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,10550)|0); + $404 = (_strcmp($403,10318)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,10572)|0); + $407 = (_strcmp($406,10340)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,10596)|0); + $410 = (_strcmp($409,10364)|0); $411 = ($410|0)!=(0); if (!($411)) { - HEAP32[$1>>2] = 3; + HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,10605)|0); + $413 = (_strcmp($412,10373)|0); $414 = ($413|0)!=(0); if (!($414)) { - HEAP32[$1>>2] = 4; + HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,10613)|0); + $416 = (_strcmp($415,10381)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,10626)|0); + $419 = (_strcmp($418,10394)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,10640)|0); + $422 = (_strcmp($421,10408)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,10652)|0); + $425 = (_strcmp($424,10420)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,10661)|0); + $428 = (_strcmp($427,10429)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,10671)|0); + $431 = (_strcmp($430,10439)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,10683)|0); + $434 = (_strcmp($433,10451)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,10694)|0); + $437 = (_strcmp($436,10462)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,10702)|0); + $440 = (_strcmp($439,10470)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,10714)|0); + $443 = (_strcmp($442,10482)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,10729)|0); + $446 = (_strcmp($445,10497)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,10741)|0); + $449 = (_strcmp($448,10509)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,10755)|0); + $452 = (_strcmp($451,10523)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,10780)|0); + $455 = (_strcmp($454,10548)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,10797)|0); + $458 = (_strcmp($457,10565)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,10813)|0); + $461 = (_strcmp($460,10581)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,10829)|0); + $464 = (_strcmp($463,10597)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,10841)|0); + $467 = (_strcmp($466,10609)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 33; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,10853)|0); + $470 = (_strcmp($469,10621)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 34; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,10877)|0); + $473 = (_strcmp($472,10645)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,10890)|0); + $476 = (_strcmp($475,10658)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,10904)|0); + $479 = (_strcmp($478,10672)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 35; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,10926)|0); + $482 = (_strcmp($481,10694)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 36; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,10933)|0); + $485 = (_strcmp($484,10701)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,10949)|0); + $488 = (_strcmp($487,10717)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,10966)|0); + $491 = (_strcmp($490,10734)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,10983)|0); + $494 = (_strcmp($493,10751)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,10999)|0); + $497 = (_strcmp($496,10767)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,11015)|0); + $500 = (_strcmp($499,10783)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,11032)|0); + $503 = (_strcmp($502,10800)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,11046)|0); + $506 = (_strcmp($505,10814)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,11058)|0); + $509 = (_strcmp($508,10826)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,11069)|0); + $512 = (_strcmp($511,10837)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,11082)|0); + $515 = (_strcmp($514,10850)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,11092)|0); + $518 = (_strcmp($517,10860)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,11109)|0); + $521 = (_strcmp($520,10877)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,11121)|0); + $524 = (_strcmp($523,10889)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,11143)|0); + $527 = (_strcmp($526,10911)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,11163)|0); + $530 = (_strcmp($529,10931)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,11176)|0); + $533 = (_strcmp($532,10944)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,11198)|0); + $536 = (_strcmp($535,10966)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,11218)|0); + $539 = (_strcmp($538,10986)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,11235)|0); + $542 = (_strcmp($541,11003)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,11252)|0); + $545 = (_strcmp($544,11020)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,11272)|0); + $548 = (_strcmp($547,11040)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -19119,7 +23341,15 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (33064|0); + return (33232|0); +} +function ___emscripten_pthread_data_constructor() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 188|0); + HEAP32[$1>>2] = (33272); + return; } function ___stdio_close($0) { $0 = $0|0; @@ -19129,7 +23359,7 @@ function ___stdio_close($0) { $vararg_buffer = sp; $1 = ((($0)) + 60|0); $2 = HEAP32[$1>>2]|0; - $3 = (_dummy_738($2)|0); + $3 = (_dummy_736($2)|0); HEAP32[$vararg_buffer>>2] = $3; $4 = (___syscall6(6,($vararg_buffer|0))|0); $5 = (___syscall_ret($4)|0); @@ -19309,12 +23539,7 @@ function ___pthread_self_108() { $0 = (_pthread_self()|0); return ($0|0); } -function _pthread_self() { - var label = 0, sp = 0; - sp = STACKTOP; - return (2980|0); -} -function _dummy_738($0) { +function _dummy_736($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; @@ -19447,7 +23672,7 @@ function _vsnprintf($0,$1,$2,$3) { 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)); + dest=$5; src=3124; 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) { @@ -19496,4530 +23721,6593 @@ function _vsnprintf($0,$1,$2,$3) { } STACKTOP = sp;return ($$0|0); } -function _vfprintf($0,$1,$2) { +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 = (Atomics_load(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; - 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; + $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 + 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; + 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 { - $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; + $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; } - $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; + $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 { - $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 = $$; + $$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 = ((11156 + (($$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; } - } 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); + $141 = ($137<<24>>24)==(0); + if ($141) { + $$0 = -1; + break; } - $$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); + $142 = ($137<<24>>24)==(19); + $143 = ($$0253|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; + if ($142) { + if ($143) { + $$0 = -1; + break L1; } else { - $19 = (($$0243) + ($$0247))|0; - $$1248 = $19; + 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; } - } else { - $$1248 = $$0247; + if (!($10)) { + $$0 = 0; + break L1; + } + _pop_arg($6,$138,$2); } } while(0); - $20 = HEAP8[$21>>0]|0; - $22 = ($20<<24>>24)==(0); - if ($22) { - label = 87; - break; - } else { - $23 = $20;$25 = $21; + if ((label|0) == 49) { + label = 0; + if (!($10)) { + $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; + continue; + } } - L9: while(1) { - switch ($23<<24>>24) { - case 37: { - $$0249306 = $25;$27 = $25; - label = 9; - break L9; + $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 0: { - $$0249$lcssa = $25;$39 = $25; - break L9; + case 112: { + $192 = ($$0254>>>0)>(8); + $193 = $192 ? $$0254 : 8; + $194 = $$1263$ | 8; + $$1236 = 120;$$1255 = $193;$$3265 = $194; + label = 61; 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; + case 88: case 120: { + $$1236 = $$0235;$$1255 = $$0254;$$3265 = $$1263$; + label = 61; + break; } - } 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; + 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 = 11620;$$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 = 11620;$242 = $231;$243 = $232; + label = 66; + break L71; } else { - label = 23; + $237 = $$1263$ & 2048; + $238 = ($237|0)==(0); + $239 = $$1263$ & 1; + $240 = ($239|0)==(0); + $$ = $240 ? 11620 : (11622); + $$$ = $238 ? $$ : (11621); + $241 = $$1263$ & 2049; + $narrow = ($241|0)!=(0); + $$284$ = $narrow&1; + $$0232 = $$284$;$$0237 = $$$;$242 = $226;$243 = $229; + label = 66; + break L71; } - } else { - label = 23; + break; } - 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; + 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 = 11620;$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 = 11620;$$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 : 11630; + $$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_672($0,32,$$1260,0,$$1263$); + $$0240$lcssa357 = 0; + label = 84; } else { - $$0259 = 0;$$2271 = 0;$storemerge278 = $61; + $$4258355 = $$0254;$331 = $$pre349; + label = 75; } + break; } - 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; + 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; } - $$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; + default: { + $$2 = $21;$$2234 = 0;$$2239 = 11620;$$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 = (11620 + ($208)|0); + $$289 = $or$cond283 ? 11620 : $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 = 11620;$$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; } } - $117 = ($$3272|0)==(0); - if (!($117)) { + $294 = ($$2245|0)<(0); + if ($294) { $$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; + _pad_672($0,32,$$1260,$$0240$lcssa,$$1263$); + $295 = ($$0240$lcssa|0)==(0); + if ($295) { + $$0240$lcssa357 = 0; + label = 84; } else { - $330 = 0; + $$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; + } + } } - 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; + 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_672($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_672($0,32,$$2261,$312,$$6268); + _out($0,$$2239,$$2234); + $314 = $$6268 ^ 65536; + _pad_672($0,48,$$2261,$312,$314); + _pad_672($0,48,$$$5,$310,0); + _out($0,$$2,$310); + $315 = $$6268 ^ 8192; + _pad_672($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; } - $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; + } + } 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; } } - $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; + } 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; - } else { - label = 49; + break; } - } 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; + 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; } - if (!($10)) { - $$0 = 0; + 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; } - _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; + 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 1: { - $172 = HEAP32[$6>>2]|0; - HEAP32[$172>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; + 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 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; + 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 3: { - $180 = $$1248&65535; - $181 = HEAP32[$6>>2]|0; - HEAP16[$181>>1] = $180; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; + 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 4: { - $182 = $$1248&255; - $183 = HEAP32[$6>>2]|0; - HEAP8[$183>>0] = $182; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; + 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 6: { - $184 = HEAP32[$6>>2]|0; - HEAP32[$184>>2] = $$1248; - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; + 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 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; + 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: { - $$0243 = 0;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; - continue L1; - } + break 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; } + } 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 = (11672 + ($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; } - 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; + } + } + 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; } - 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; - } + } + } + 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; } - 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; + } + $$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; } - 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; + } + } + 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 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; + } 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; } - $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; + } 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; } - $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; + $35 = ((($$140)) + 1|0); + $36 = (($$23839) + -1)|0; + $37 = ($36|0)==(0); + if ($37) { + $$2 = $35;$$3 = 0; break; + } else { + $$140 = $35;$$23839 = $36; } } - $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; + } + } + } while(0); + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); +} +function _pad_672($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 { - $$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; - } - } + 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; + $16 = $13 & 255; + $$0$lcssa = $16; + } else { + $$0$lcssa = $9; } - $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; + _out($0,$5,$$0$lcssa); } - 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; + 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_673($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11637; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11638) : (11643); + $$$ = $16 ? $$ : (11640); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_673($$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; + } } - $324 = ($325|0)<(10); - if ($324) { - $$3303 = $325; + $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 { - $$0 = 1; + $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; } - } 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; + $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 = (11672 + ($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; + } } - 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; + $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_672($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_672($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_672($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_672($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; } - 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; + } + $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; + } } - 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; + } 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; + } } - 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; + } 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; + } + } } - 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; + } 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; } - 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; + $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; } - 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; + $253 = ((($$7505)) + -4|0); + $254 = HEAP32[$253>>2]|0; + $255 = ($254|0)==(0); + if ($255) { + $$7505 = $253; + } else { + $$lcssa673 = 1; break; } - default: { - break L1; - } + } + $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); - } - } 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; + $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 { - $$012 = $27;$$111 = $26; + $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; } - } - } - 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; + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_672($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_672($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; + } } - $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; + $339 = ($289|0)==(0); + if (!($339)) { + _out($0,11688,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 { - $$035$lcssa = $11;$$036$lcssa = $12;$$lcssa = $16; - label = 5; - break; + $$4478$lcssa = $$3477; } - } - } 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; + $357 = (($$4478$lcssa) + 9)|0; + _pad_672($0,48,$357,9,0); } 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; + $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,11688,1); + $$2 = $372; } else { - $$0$lcssa = $29;$$137$lcssa = $30; - label = 11; - break L11; + $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; } - $$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; } + } else { + $$5$lcssa = $$3477; } + $383 = (($$5$lcssa) + 18)|0; + _pad_672($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); } + $387 = $4 ^ 8192; + _pad_672($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11656 : 11660; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11664 : 11668; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_672($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_672($0,32,$2,$32,$34); + $$sink562 = $32; } } while(0); - $38 = ($$3|0)!=(0); - $39 = $38 ? $$2 : 0; - return ($39|0); + $388 = ($$sink562|0)<($2|0); + $$555 = $388 ? $2 : $$sink562; + STACKTOP = sp;return ($$555|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; +function ___DOUBLE_BITS_673($0) { + $0 = +$0; + var $1 = 0, $2 = 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; + HEAPF64[tempDoublePtr>>3] = $0;$1 = HEAP32[tempDoublePtr>>2]|0; + $2 = HEAP32[tempDoublePtr+4>>2]|0; + tempRet0 = ($2); + return ($1|0); } -function _wctomb($0,$1) { - $0 = $0|0; +function _frexpl($0,$1) { + $0 = +$0; $1 = $1|0; - var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + var $2 = 0.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); + $2 = (+_frexp($0,$1)); + return (+$2); } -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; +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; - 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 = $$$; + 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; } - (___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; + } + 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 ($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; + if ($3) { + $$0 = 1; + } else { + $4 = ($1>>>0)<(128); + if ($4) { + $5 = $1&255; + HEAP8[$0>>0] = $5; + $$0 = 1; + break; } - $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; + $6 = (___pthread_self_446()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = (Atomics_load(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 { - $$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; - } + $12 = (___errno_location()|0); + HEAP32[$12>>2] = 84; + $$0 = -1; + 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; + } + $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; } - $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; + $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; } - $112 = ($$pr|0)<(0); - $113 = ((($6)) + 288|0); - $$556 = $112 ? $6 : $113; - $$0498 = $$556;$$4 = $$3; + } + } while(0); + return ($$0|0); +} +function ___pthread_self_446() { + 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 = (11690 + ($$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 = 11778;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 11778; + } else { + $$01214 = 11778;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$113 = $$01214; 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 { + $9 = HEAP8[$$113>>0]|0; + $10 = ($9<<24>>24)==(0); + $11 = ((($$113)) + 1|0); + if ($10) { break; + } else { + $$113 = $11; } } - $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; - } + $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 = (Atomics_load(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; } - $135 = ($132|0)==(0); - if ($135) { - $$2483$ph = $$1482661; - } else { - $136 = ((($$1482661)) + -4|0); - HEAP32[$136>>2] = $132; - $$2483$ph = $136; + $39 = (($35) + ($31))|0; + $40 = (($0) + ($39)|0); + $41 = HEAP8[$40>>0]|0; + $42 = ($41<<24>>24)==(0); + if (!($42)) { + $$4 = 0; + break L1; } - } - $$2500 = $$1499660; - while(1) { - $137 = ($$2500>>>0)>($$2483$ph>>>0); - if (!($137)) { + $43 = (($0) + ($35)|0); + $44 = (_strcmp($2,$43)|0); + $45 = ($44|0)==(0); + if ($45) { break; } - $138 = ((($$2500)) + -4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(0); - if ($140) { - $$2500 = $138; + $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 { - break; + $$090 = $$191;$$094 = $$195; } } - $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; + $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 { - $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; - break; + $$4 = 0; } + } else { + $$4 = 0; } } else { - $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + $$4 = 0; } - $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; - } + } 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; } - $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; + $22 = (($$038) + -1)|0; + $23 = (($0) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)==(10); + if ($25) { + break; } else { - $171 = ((($$3501647)) + 4|0); - HEAP32[$$3501647>>2] = $164; - $$$3484692 = $$$3484;$$4502 = $171; + $$038 = $22; } - } 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; + $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; } - } 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; + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; + break; } 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; - } - } + $$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 { - $$1515 = 0; + break; } - $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; - } - } + } + $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 { - $$1531$lcssa = 10; + $$pn = $19; } - $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; + } + } + $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 { - $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; + $$03039 = $13; } - $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; + } + } + $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 { - $$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; - } - } + $$029$lcssa = $31; + break; } - } else { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; } + } else { + $$029$lcssa = $$030$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(0); + $38 = $1&255; + $$1 = $$029$lcssa; while(1) { - $252 = ($$7505>>>0)>($$9$ph>>>0); - if (!($252)) { - $$lcssa673 = 0; + $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; - } - $253 = ((($$7505)) + -4|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)==(0); - if ($255) { - $$7505 = $253; } else { - $$lcssa673 = 1; - break; + $$1 = $42; } } - $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; + } + } 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 { - $262 = (($5) + -2)|0; - $263 = (($$539$) + -1)|0; - $$0479 = $262;$$2476 = $263; + $$02642 = $11;$$02741 = $12; } - $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; - } + } + } + $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 { - $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + $$0$lcssa = $22;$$025$lcssa = $23; + break; } - } 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; - } - } + $$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 { - $$1512$lcssa = $300; + $$12834 = $34;$$135 = $33; } - $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; + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((33296|0)); + return (33304|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((33296|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 = (Atomics_load(HEAP32,780)|0); + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = (Atomics_load(HEAP32,780)|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) { - $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; - } + $14 = ((($$02327)) + 76|0); + $15 = (Atomics_load(HEAP32,$14>>2)|0); + $16 = ($15|0)>(-1); + if ($16) { + $17 = (___lockfile($$02327)|0); + $26 = $17; } 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; - } + $26 = 0; } - $335 = $$1465; - $336 = (($324) - ($335))|0; - _out($0,$$1465,$336); - $337 = ((($$5493597)) + 4|0); - $338 = ($337>>>0)>($$556>>>0); - if ($338) { + $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 { - $$5493597 = $337; + $$02327 = $$023;$$02426 = $$1; } } - $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; + } + ___ofl_unlock(); + $$0 = $$024$lcssa; + } else { + $2 = ((($0)) + 76|0); + $3 = (Atomics_load(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; } - } - } 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; + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; } 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; + $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 { - $369 = ($$0>>>0)>($8>>>0); - if (!($369)) { - $$2 = $$0; + $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; - } - $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; + } + } 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 { - $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; + $$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; + } } - } 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); + } + $37 = ((($$016$lcssa)) + -2|0); + $38 = $$lcssa ? $37 : 0; + return ($38|0); } -function _frexp($0,$1) { - $0 = +$0; +function _fourbyte_strstr($0,$1) { + $0 = $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; + 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; - 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; + $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; + } } - 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); + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); } -function _wcrtomb($0,$1,$2) { +function _twoway_strstr($0,$1) { $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; + 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; - $3 = ($0|0)==(0|0); - do { - if ($3) { - $$0 = 1; + 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 { - $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; + $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 { - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 84; - $$0 = -1; - break; + $$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; } - $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; + } + } 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 { - $56 = (___errno_location()|0); - HEAP32[$56>>2] = 84; - $$0 = -1; - break; + $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); - 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); + STACKTOP = sp;return ($$3|0); } -function ___strerror_l($0,$1) { +function _strspn($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; + 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; - $$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; + 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 { - $$01214 = 12010;$$115 = $$016; - label = 5; - } - } - if ((label|0) == 5) { - while(1) { - label = 0; - $$113 = $$01214; + $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) { - $9 = HEAP8[$$113>>0]|0; - $10 = ($9<<24>>24)==(0); - $11 = ((($$113)) + 1|0); - if ($10) { + $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 { - $$113 = $11; + $$01925 = $24;$17 = $25; } } - $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; + $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; } - $43 = (($0) + ($35)|0); - $44 = (_strcmp($2,$43)|0); - $45 = ($44|0)==(0); - if ($45) { + $36 = ((($$123)) + 1|0); + $37 = HEAP8[$36>>0]|0; + $38 = ($37<<24>>24)==(0); + if ($38) { + $$1$lcssa = $36; 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; + $$123 = $36;$27 = $37; } } - $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); + $39 = $$1$lcssa; + $40 = $0; + $41 = (($39) - ($40))|0; + $$0 = $41; } } while(0); - return ($$4|0); + STACKTOP = sp;return ($$0|0); } -function _swapc($0,$1) { +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 = 14264; + $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 = 14264; + $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 = 14264; + $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 $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + var $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); + $2 = HEAP32[748]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); } -function ___fwritex($0,$1,$2) { +function _strcspn($0,$1) { $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; + 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; - $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; + 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 { - $$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; + $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) { - $21 = ($$038|0)==(0); - if ($21) { - $$139 = 0;$$141 = $0;$$143 = $1;$31 = $14; - break L10; + $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; } - $22 = (($$038) + -1)|0; - $23 = (($0) + ($22)|0); - $24 = HEAP8[$23>>0]|0; - $25 = ($24<<24>>24)==(10); - if ($25) { + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; 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; + $$01922 = $32;$23 = $33; + } + } + } + } } } while(0); - return ($$1|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 ___towrite($0) { +function _strcat($0,$1) { $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; + $1 = $1|0; + var $2 = 0, $3 = 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; + $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[8327]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; + } else { + $$010 = $3; + label = 3; + } } else { - $10 = $7 | 32; - HEAP32[$0>>2] = $10; - $$0 = -1; + $$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[8327] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[8327] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[8327] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[8327] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } + } + } while(0); return ($$0|0); } -function _sn_write($0,$1,$2) { +function __emscripten_atomic_fetch_and_add_u64($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; + 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, $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); - $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); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function _strlen($0) { +function __emscripten_atomic_fetch_and_and_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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; - } + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } } - } while(0); - if ((label|0) == 4) { - $$0 = $$015$lcssa; + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_or_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { 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 { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { 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; - } - } + $10 = ($7|0)==(0); + if ($10) { + break; } - $21 = $$1$lcssa; - $$sink = $21; } - $22 = (($$sink) - ($1))|0; - return ($22|0); + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function _strchr($0,$1) { +function __emscripten_atomic_fetch_and_sub_u64($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 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); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); +} +function __emscripten_atomic_fetch_and_xor_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function ___strchrnul($0,$1) { +function _emscripten_async_run_in_main_thread($0) { $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; + var $$0 = 0, $$0$in = 0, $$0$in19 = 0, $$0$lcssa = 0, $$020 = 0, $$expand_i1_val = 0, $$lcssa = 0, $$lcssa18 = 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; + var $9 = 0, $call_queue$init$val = 0, $call_queue$init$val$pre_trunc = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = $1 & 255; + $1 = ($0|0)==(0|0); + if ($1) { + ___assert_fail((13872|0),(13704|0),260,(13877|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); $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; + if (!($3)) { + __do_call($0); + return; + } + (___pthread_mutex_lock(33828)|0); + $call_queue$init$val$pre_trunc = HEAP8[38343]|0; + $call_queue$init$val = $call_queue$init$val$pre_trunc&1; + if (!($call_queue$init$val)) { + $$expand_i1_val = 1; + HEAP8[38343] = $$expand_i1_val; + } + $4 = (Atomics_load(HEAP32, 8464)|0); + $5 = (Atomics_load(HEAP32, 8465)|0); + $$0$in19 = (($5) + 1)|0; + $$020 = (($$0$in19|0) % 128)&-1; + $6 = ($$020|0)==($4|0); + if ($6) { + $7 = $4; + while(1) { + (___pthread_mutex_unlock(33828)|0); + (_emscripten_futex_wait((33856|0),($7|0),inf)|0); + (___pthread_mutex_lock(33828)|0); + $8 = (Atomics_load(HEAP32, 8464)|0); + $9 = (Atomics_load(HEAP32, 8465)|0); + $$0$in = (($9) + 1)|0; + $$0 = (($$0$in|0) % 128)&-1; + $10 = ($$0|0)==($8|0); + if ($10) { + $7 = $8; } 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; - } + $$0$lcssa = $$0;$$lcssa = $9;$$lcssa18 = $8; + break; } } - } while(0); - return ($$0|0); + } else { + $$0$lcssa = $$020;$$lcssa = $5;$$lcssa18 = $4; + } + $11 = (33864 + ($$lcssa<<2)|0); + HEAP32[$11>>2] = $0; + $12 = ($$lcssa18|0)==($$lcssa|0); + if ($12) { + _emscripten_asm_const_v(1); + } + $13 = (Atomics_store(HEAP32, 8465, $$0$lcssa)|0); + (___pthread_mutex_unlock(33828)|0); + return; } -function _strcpy($0,$1) { +function _emscripten_atomic_add_u64($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - (___stpcpy($0,$1)|0); - return ($0|0); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); } -function ___stpcpy($0,$1) { +function _emscripten_atomic_and_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } - $$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; - } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_cas_u64($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, $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, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $0; + $6 = $5 >>> 3; + $7 = $6 & 255; + $8 = (34384 + ($7<<2)|0); + while(1) { + while(1) { + $9 = (Atomics_load(HEAP32, $8>>2)|0); + $10 = (Atomics_compareExchange(HEAP32, $8>>2, $9, 1)|0); + $11 = ($9|0)==($10|0); + if ($11) { + break; } } + $12 = ($9|0)==(0); + if ($12) { + break; + } } - return ($$029|0); -} -function ___ofl_lock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___lock((33128|0)); - return (33136|0); + $13 = $0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)==($1|0); + $20 = ($18|0)==($2|0); + $21 = $19 & $20; + if (!($21)) { + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); + } + $22 = $0; + $23 = $22; + HEAP32[$23>>2] = $3; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $4; + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); } -function ___ofl_unlock() { - var label = 0, sp = 0; +function _emscripten_atomic_exchange_u32($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - ___unlock((33128|0)); - return; + while(1) { + $2 = (Atomics_load(HEAP32, $0>>2)|0); + $3 = (Atomics_compareExchange(HEAP32, $0>>2, $2, $1)|0); + $4 = ($2|0)==($3|0); + if ($4) { + break; + } + } + return ($2|0); } -function _fflush($0) { +function _emscripten_atomic_exchange_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; - $1 = ($0|0)==(0|0); - do { - if ($1) { - $8 = HEAP32[838]|0; - $9 = ($8|0)==(0|0); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|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); + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $0; + $18 = $17; + HEAP32[$18>>2] = $1; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $2; + $21 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function ___fflush_unlocked($0) { +function _emscripten_atomic_load_f32($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; + var $1 = 0, $2 = 0.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; + $1 = (Atomics_load(HEAP32, $0>>2)|0); + $2 = (HEAP32[tempDoublePtr>>2]=$1,+HEAPF32[tempDoublePtr>>2]); + return (+$2); +} +function _emscripten_atomic_load_f64($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.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34384 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; + } } - } 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); + $8 = ($5|0)==(0); + if ($8) { + break; } - $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); + $9 = +HEAPF64[$0>>3]; + $10 = (Atomics_store(HEAP32, $4>>2, 0)|0); + return (+$9); } -function _strstr($0,$1) { +function _emscripten_atomic_load_u64($0) { $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; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $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; - } - } - } - } - } + $1 = $0; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34384 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; } } - } while(0); - return ($$0|0); + $8 = ($5|0)==(0); + if ($8) { + break; + } + } + $9 = $0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (Atomics_store(HEAP32, $4>>2, 0)|0); + tempRet0 = ($14); + return ($11|0); } -function _twobyte_strstr($0,$1) { +function _emscripten_atomic_or_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, 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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); while(1) { - $11 = ((($$sink17$sink)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $$lcssa = 0; + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { 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; + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_store_f32($0,$1) { + $0 = $0|0; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0.0, label = 0, sp = 0; + sp = STACKTOP; + $2 = (HEAPF32[tempDoublePtr>>2]=$1,HEAP32[tempDoublePtr>>2]|0); + $3 = (Atomics_store(HEAP32, $0>>2, $2)|0); + $4 = (+($3>>>0)); + return (+$4); +} +function _emscripten_atomic_store_f64($0,$1) { + $0 = $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 = $0; + $3 = $2 >>> 3; + $4 = $3 & 255; + $5 = (34384 + ($4<<2)|0); + while(1) { + while(1) { + $6 = (Atomics_load(HEAP32, $5>>2)|0); + $7 = (Atomics_compareExchange(HEAP32, $5>>2, $6, 1)|0); + $8 = ($6|0)==($7|0); + if ($8) { + break; + } + } + $9 = ($6|0)==(0); + if ($9) { break; - } else { - $$sink$in = $15;$$sink17$sink = $11; } } - return ($$lcssa|0); + HEAPF64[$0>>3] = $1; + $10 = (Atomics_store(HEAP32, $5>>2, 0)|0); + return (+$1); } -function _threebyte_strstr($0,$1) { +function _emscripten_atomic_store_u64($0,$1,$2) { $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; + $2 = $2|0; + var $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; - $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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { 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; + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + HEAP32[$12>>2] = $1; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $2; + $15 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($2); + return ($1|0); +} +function _emscripten_atomic_sub_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { break; - } else { - $$01619 = $30;$$020 = $34; } } + $10 = ($7|0)==(0); + if ($10) { + break; + } } - $37 = ((($$016$lcssa)) + -2|0); - $38 = $$lcssa ? $37 : 0; - return ($38|0); + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); } -function _fourbyte_strstr($0,$1) { +function _emscripten_atomic_xor_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34384 + ($5<<2)|0); + while(1) { 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; + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_main_thread_process_queued_calls() { + var $$0910 = 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, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_emscripten_is_main_runtime_thread()|0); + $1 = ($0|0)==(0); + if ($1) { + ___assert_fail((13582|0),(13704|0),424,(13768|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); + $3 = ($2|0)==(0); + $4 = HEAP32[8456]|0; + $5 = ($4|0)!=(0); + $or$cond = $3 | $5; + if ($or$cond) { + return; + } + HEAP32[8456] = 1; + (___pthread_mutex_lock(33828)|0); + $6 = (Atomics_load(HEAP32, 8464)|0); + $7 = (Atomics_load(HEAP32, 8465)|0); + $8 = ($6|0)==($7|0); + (___pthread_mutex_unlock(33828)|0); + if (!($8)) { + $$0910 = $6; + while(1) { + $9 = (33864 + ($$0910<<2)|0); + $10 = HEAP32[$9>>2]|0; + __do_call($10); + (___pthread_mutex_lock(33828)|0); + $11 = (($$0910) + 1)|0; + $12 = (($11|0) % 128)&-1; + $13 = (Atomics_store(HEAP32, 8464, $12)|0); + $14 = (Atomics_load(HEAP32, 8465)|0); + $15 = ($12|0)==($14|0); + (___pthread_mutex_unlock(33828)|0); + if ($15) { break; } else { - $$sink2124 = $40;$39 = $43; + $$0910 = $12; } } } - $46 = ((($$sink21$lcssa)) + -3|0); - $47 = $$lcssa ? $46 : 0; - return ($47|0); + (_emscripten_futex_wake((33856|0),2147483647)|0); + HEAP32[8456] = 0; + return; +} +function _emscripten_sync_run_in_main_thread($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + _emscripten_async_run_in_main_thread($0); + (_emscripten_wait_for_call_v($0,inf)|0); + return; } -function _twoway_strstr($0,$1) { +function _emscripten_sync_run_in_main_thread_0($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $1 = sp; + dest=$1; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$1>>2] = $0; + $2 = ((($1)) + 80|0); + HEAP32[$2>>2] = 0; + _emscripten_async_run_in_main_thread($1); + (_emscripten_wait_for_call_v($1,inf)|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); +} +function _emscripten_sync_run_in_main_thread_1($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; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $2 = sp + 1024|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $2 = sp; + dest=$2; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$2>>2] = $0; + $3 = ((($2)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($2)) + 80|0); + HEAP32[$4>>2] = 0; + _emscripten_async_run_in_main_thread($2); + (_emscripten_wait_for_call_v($2,inf)|0); + $5 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _emscripten_sync_run_in_main_thread_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|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; - } - } + dest=$3; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = $0; + $4 = ((($3)) + 16|0); + HEAP32[$4>>2] = $1; + $5 = ((($3)) + 24|0); + HEAP32[$5>>2] = $2; + $6 = ((($3)) + 80|0); + HEAP32[$6>>2] = 0; + _emscripten_async_run_in_main_thread($3); + (_emscripten_wait_for_call_v($3,inf)|0); + $7 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($7|0); +} +function _emscripten_sync_run_in_main_thread_3($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $4 = sp; + dest=$4; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$4>>2] = $0; + $5 = ((($4)) + 16|0); + HEAP32[$5>>2] = $1; + $6 = ((($4)) + 24|0); + HEAP32[$6>>2] = $2; + $7 = ((($4)) + 32|0); + HEAP32[$7>>2] = $3; + $8 = ((($4)) + 80|0); + HEAP32[$8>>2] = 0; + _emscripten_async_run_in_main_thread($4); + (_emscripten_wait_for_call_v($4,inf)|0); + $9 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _emscripten_sync_run_in_main_thread_4($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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $5 = sp; + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $6 = ((($5)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = ((($5)) + 24|0); + HEAP32[$7>>2] = $2; + $8 = ((($5)) + 32|0); + HEAP32[$8>>2] = $3; + $9 = ((($5)) + 40|0); + HEAP32[$9>>2] = $4; + $10 = ((($5)) + 80|0); + HEAP32[$10>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $11 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _emscripten_sync_run_in_main_thread_5($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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $6 = sp; + dest=$6; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$6>>2] = $0; + $7 = ((($6)) + 16|0); + HEAP32[$7>>2] = $1; + $8 = ((($6)) + 24|0); + HEAP32[$8>>2] = $2; + $9 = ((($6)) + 32|0); + HEAP32[$9>>2] = $3; + $10 = ((($6)) + 40|0); + HEAP32[$10>>2] = $4; + $11 = ((($6)) + 48|0); + HEAP32[$11>>2] = $5; + $12 = ((($6)) + 80|0); + HEAP32[$12>>2] = 0; + _emscripten_async_run_in_main_thread($6); + (_emscripten_wait_for_call_v($6,inf)|0); + $13 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _emscripten_sync_run_in_main_thread_6($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $7 = sp; + dest=$7; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$7>>2] = $0; + $8 = ((($7)) + 16|0); + HEAP32[$8>>2] = $1; + $9 = ((($7)) + 24|0); + HEAP32[$9>>2] = $2; + $10 = ((($7)) + 32|0); + HEAP32[$10>>2] = $3; + $11 = ((($7)) + 40|0); + HEAP32[$11>>2] = $4; + $12 = ((($7)) + 48|0); + HEAP32[$12>>2] = $5; + $13 = ((($7)) + 56|0); + HEAP32[$13>>2] = $6; + $14 = ((($7)) + 80|0); + HEAP32[$14>>2] = 0; + _emscripten_async_run_in_main_thread($7); + (_emscripten_wait_for_call_v($7,inf)|0); + $15 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _emscripten_sync_run_in_main_thread_7($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, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $8 = sp; + dest=$8; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$8>>2] = $0; + $9 = ((($8)) + 16|0); + HEAP32[$9>>2] = $1; + $10 = ((($8)) + 24|0); + HEAP32[$10>>2] = $2; + $11 = ((($8)) + 32|0); + HEAP32[$11>>2] = $3; + $12 = ((($8)) + 40|0); + HEAP32[$12>>2] = $4; + $13 = ((($8)) + 48|0); + HEAP32[$13>>2] = $5; + $14 = ((($8)) + 56|0); + HEAP32[$14>>2] = $6; + $15 = ((($8)) + 64|0); + HEAP32[$15>>2] = $7; + $16 = ((($8)) + 80|0); + HEAP32[$16>>2] = 0; + _emscripten_async_run_in_main_thread($8); + (_emscripten_wait_for_call_v($8,inf)|0); + $17 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($17|0); +} +function _emscripten_sync_run_in_main_thread_xprintf_varargs($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|0; + var $$0 = 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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $3 = sp + 96|0; + $4 = sp + 112|0; + $5 = sp; + HEAP32[$3>>2] = $varargs; + $6 = (_vsnprintf($4,128,$2,$3)|0); + $7 = ($6|0)>(127); + $8 = (($6) + 1)|0; + if ($7) { + $9 = (_malloc($8)|0); + HEAP32[$3>>2] = $varargs; + (_vsnprintf($9,$8,$2,$3)|0); + $$0 = $9; + } else { + $$0 = $4; + } + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $10 = $1; + $11 = ((($5)) + 16|0); + HEAP32[$11>>2] = $10; + $12 = ((($5)) + 24|0); + HEAP32[$12>>2] = $$0; + $13 = ((($5)) + 80|0); + HEAP32[$13>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $14 = ($$0|0)==($4|0); + if ($14) { + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); + } + _free($$0); + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); +} +function ___pthread_tsd_run_dtors() { + var $$02427 = 0, $$026 = 0, $$125 = 0, $$2 = 0, $0 = 0, $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; + var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 60|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 116|0); + $$02427 = 0; + while(1) { + $$026 = 0;$$125 = 0; + while(1) { + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + ($$026<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + $$2 = $$125; + } else { + $9 = (33312 + ($$026<<2)|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + $$2 = $$125; } 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; + HEAP32[$6>>2] = 0; + $12 = (Atomics_load(HEAP32,$9>>2)|0); + FUNCTION_TABLE_vi[$12 & 31]($7); + $$2 = 1; } + } + $13 = (($$026) + 1)|0; + $exitcond = ($13|0)==(128); + if ($exitcond) { + break; } else { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; + $$026 = $13;$$125 = $$2; } } - } 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; + $14 = (($$02427) + 1)|0; + $15 = ($$2|0)!=(0); + $16 = ($14|0)<(4); + $17 = $16 & $15; + if ($17) { + $$02427 = $14; + } else { + break; + } + } + return; +} +function _emscripten_wait_for_call_v($0,$1) { + $0 = $0|0; + $1 = +$1; + var $$ = 0, $$01921 = 0.0, $$020$lcssa = 0, $$1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = (Atomics_load(HEAP32, $2>>2)|0); + $4 = ($3|0)==(0); + if (!($4)) { + $$1 = $3; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); + } + $5 = (+_emscripten_get_now()); + $6 = $5 + $1; + _emscripten_set_current_thread_status(5); + $7 = $5 < $6; + if ($7) { + $$01921 = $5; + while(1) { + $8 = $6 - $$01921; + (_emscripten_futex_wait(($2|0),0,(+$8))|0); + $9 = (Atomics_load(HEAP32, $2>>2)|0); + $10 = (+_emscripten_get_now()); + $11 = ($9|0)==(0); + $12 = $10 < $6; + $or$cond = $11 & $12; + if ($or$cond) { + $$01921 = $10; } 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; + $$020$lcssa = $9; + break; } } + } else { + $$020$lcssa = 0; + } + _emscripten_set_current_thread_status(1); + $$1 = $$020$lcssa; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); +} +function __do_call($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, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $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, $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, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + do { + switch ($1|0) { + case 12: { + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 24|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_utime(($3|0),($5|0))|0); + $7 = ((($0)) + 80|0); + HEAP32[$7>>2] = $6; + break; + } + case 13: { + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($0)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_utimes(($9|0),($11|0))|0); + $13 = ((($0)) + 80|0); + HEAP32[$13>>2] = $12; + break; + } + case 37: { + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = (_chroot(($15|0))|0); + $17 = ((($0)) + 80|0); + HEAP32[$17>>2] = $16; + break; + } + case 46: { + $18 = ((($0)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = (_fpathconf(($19|0),($21|0))|0); + $23 = ((($0)) + 80|0); + HEAP32[$23>>2] = $22; + break; + } + case 68: { + $24 = ((($0)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 24|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = (_confstr(($25|0),($27|0),($29|0))|0); + $31 = ((($0)) + 80|0); + HEAP32[$31>>2] = $30; + break; + } + case 72: { + $32 = ((($0)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sysconf(($33|0))|0); + $35 = ((($0)) + 80|0); + HEAP32[$35>>2] = $34; + break; + } + case 110: { + $36 = ((($0)) + 16|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_atexit(($37|0))|0); + $39 = ((($0)) + 80|0); + HEAP32[$39>>2] = $38; + break; + } + case 111: { + $40 = ((($0)) + 16|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_getenv(($41|0))|0); + $43 = ((($0)) + 80|0); + HEAP32[$43>>2] = $42; + break; + } + case 112: { + $44 = (_clearenv()|0); + $45 = ((($0)) + 80|0); + HEAP32[$45>>2] = $44; + break; + } + case 113: { + $46 = ((($0)) + 16|0); + $47 = HEAP32[$46>>2]|0; + $48 = ((($0)) + 24|0); + $49 = HEAP32[$48>>2]|0; + $50 = ((($0)) + 32|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_setenv(($47|0),($49|0),($51|0))|0); + $53 = ((($0)) + 80|0); + HEAP32[$53>>2] = $52; + break; + } + case 114: { + $54 = ((($0)) + 16|0); + $55 = HEAP32[$54>>2]|0; + $56 = (_unsetenv(($55|0))|0); + $57 = ((($0)) + 80|0); + HEAP32[$57>>2] = $56; + break; + } + case 115: { + $58 = ((($0)) + 16|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_putenv(($59|0))|0); + $61 = ((($0)) + 80|0); + HEAP32[$61>>2] = $60; + break; + } + case 119: { + _tzset(); + break; + } + case 137: { + $62 = ((($0)) + 16|0); + $63 = HEAP32[$62>>2]|0; + $64 = ((($0)) + 24|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($0)) + 32|0); + $67 = HEAP32[$66>>2]|0; + $68 = ((($0)) + 40|0); + $69 = HEAP32[$68>>2]|0; + $70 = (_pthread_create(($63|0),($65|0),($67|0),($69|0))|0); + $71 = ((($0)) + 80|0); + HEAP32[$71>>2] = $70; + break; + } + case 138: { + $72 = ((($0)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ((($0)) + 24|0); + $75 = HEAP32[$74>>2]|0; + $76 = (_emscripten_syscall(($73|0),($75|0))|0); + $77 = ((($0)) + 80|0); + HEAP32[$77>>2] = $76; + break; + } + case 1024: { + $78 = ((($0)) + 4|0); + $79 = HEAP32[$78>>2]|0; + FUNCTION_TABLE_v[$79 & 7](); + break; + } + case 1025: { + $80 = ((($0)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = ((($0)) + 16|0); + $83 = HEAP32[$82>>2]|0; + FUNCTION_TABLE_vi[$81 & 31]($83); + break; + } + case 1026: { + $84 = ((($0)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = ((($0)) + 16|0); + $87 = HEAP32[$86>>2]|0; + $88 = ((($0)) + 24|0); + $89 = HEAP32[$88>>2]|0; + FUNCTION_TABLE_vii[$85 & 63]($87,$89); + break; + } + case 1027: { + $90 = ((($0)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = ((($0)) + 16|0); + $93 = HEAP32[$92>>2]|0; + $94 = ((($0)) + 24|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($0)) + 32|0); + $97 = HEAP32[$96>>2]|0; + FUNCTION_TABLE_viii[$91 & 31]($93,$95,$97); + break; + } + case 2048: { + $98 = ((($0)) + 4|0); + $99 = HEAP32[$98>>2]|0; + $100 = (FUNCTION_TABLE_i[$99 & 3]()|0); + $101 = ((($0)) + 80|0); + HEAP32[$101>>2] = $100; + break; + } + case 2049: { + $102 = ((($0)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ((($0)) + 16|0); + $105 = HEAP32[$104>>2]|0; + $106 = (FUNCTION_TABLE_ii[$103 & 15]($105)|0); + $107 = ((($0)) + 80|0); + HEAP32[$107>>2] = $106; + break; + } + case 2050: { + $108 = ((($0)) + 4|0); + $109 = HEAP32[$108>>2]|0; + $110 = ((($0)) + 16|0); + $111 = HEAP32[$110>>2]|0; + $112 = ((($0)) + 24|0); + $113 = HEAP32[$112>>2]|0; + $114 = (FUNCTION_TABLE_iii[$109 & 3]($111,$113)|0); + $115 = ((($0)) + 80|0); + HEAP32[$115>>2] = $114; + break; + } + case 2051: { + $116 = ((($0)) + 4|0); + $117 = HEAP32[$116>>2]|0; + $118 = ((($0)) + 16|0); + $119 = HEAP32[$118>>2]|0; + $120 = ((($0)) + 24|0); + $121 = HEAP32[$120>>2]|0; + $122 = ((($0)) + 32|0); + $123 = HEAP32[$122>>2]|0; + $124 = (FUNCTION_TABLE_iiii[$117 & 15]($119,$121,$123)|0); + $125 = ((($0)) + 80|0); + HEAP32[$125>>2] = $124; + break; + } + default: { + ___assert_fail((13812|0),(13704|0),211,(13863|0)); + // unreachable; + } + } } while(0); - STACKTOP = sp;return ($$3|0); + $126 = ((($0)) + 88|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)==(0); + if ($128) { + $129 = ((($0)) + 8|0); + HEAP32[$129>>2] = 1; + (_emscripten_futex_wake(($129|0),2147483647)|0); + return; + } else { + _free($0); + return; + } } -function _strspn($0,$1) { +function ___pthread_mutex_unlock($0) { + $0 = $0|0; + var $$0 = 0, $$045 = 0, $$pre = 0, $$pre$phiZ2D = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = (Atomics_load(HEAP32,$1>>2)|0); + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 15; + $5 = $3 & 128; + $6 = $5 ^ 128; + $7 = ($4|0)==(0); + if ($7) { + $$pre = ((($0)) + 4|0); + $$045 = 0;$$pre$phiZ2D = $$pre; + } else { + $8 = (_pthread_self()|0); + $9 = ((($0)) + 4|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = $10 & 2147483647; + $12 = ((($8)) + 52|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)==($13|0); + if (!($14)) { + $$0 = 1; + return ($$0|0); + } + $15 = $3 & 3; + $16 = ($15|0)==(1); + if ($16) { + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + $20 = (($18) + -1)|0; + HEAP32[$17>>2] = $20; + $$0 = 0; + return ($$0|0); + } + } + $21 = ($6|0)==(0); + $22 = ((($0)) + 16|0); + if ($21) { + $23 = ((($8)) + 176|0); + Atomics_store(HEAP32,$23>>2,$22)|0; + ___vm_lock(); + } + $24 = ((($0)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$22>>2]|0; + Atomics_store(HEAP32,$25>>2,$26)|0; + $27 = ((($8)) + 168|0); + $28 = ($26|0)==($27|0); + if ($28) { + $$045 = $8;$$pre$phiZ2D = $9; + } else { + $29 = ((($26)) + -4|0); + Atomics_store(HEAP32,$29>>2,$25)|0; + $$045 = $8;$$pre$phiZ2D = $9; + } + } + $30 = $3 & 8; + $31 = ($30|0)!=(0); + $32 = $31 ? 2147483647 : 0; + while(1) { + $33 = (Atomics_load(HEAP32, $$pre$phiZ2D>>2)|0); + $34 = (Atomics_compareExchange(HEAP32, $$pre$phiZ2D>>2, $33, $32)|0); + $35 = ($34|0)==($33|0); + if ($35) { + break; + } + } + $36 = ($6|0)!=(0); + $or$cond = $7 | $36; + if (!($or$cond)) { + $37 = ((($$045)) + 176|0); + Atomics_store(HEAP32,$37>>2,0)|0; + ___vm_unlock(); + } + $38 = ($2|0)!=(0); + $39 = ($33|0)<(0); + $or$cond3 = $38 | $39; + if (!($or$cond3)) { + $$0 = 0; + return ($$0|0); + } + (_emscripten_futex_wake(($$pre$phiZ2D|0),1)|0); + $$0 = 0; + return ($$0|0); +} +function ___vm_lock() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8594, 1)|0); + return; +} +function ___vm_unlock() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8594, -1)|0); + $1 = ($0|0)==(1); + if (!($1)) { + return; + } + $2 = (Atomics_load(HEAP32,(34380)>>2)|0); + $3 = ($2|0)==(0); + if ($3) { + return; + } + (_emscripten_futex_wake((34376|0),2147483647)|0); + return; +} +function ___pthread_mutex_lock($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = ($5|0)==(0); + if ($6) { + $$0 = 0; + return ($$0|0); + } + } + $7 = (___pthread_mutex_timedlock($0,0)|0); + $$0 = $7; + return ($$0|0); +} +function ___pthread_mutex_timedlock($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; + var $$0 = 0, $$2 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond40 = 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); + $2 = HEAP32[$0>>2]|0; + $3 = $2 & 15; + $4 = ($3|0)==(0); do { if ($4) { - $$0 = 0; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); + $5 = ((($0)) + 4|0); + $6 = (Atomics_compareExchange(HEAP32, $5>>2, 0, 16)|0); + $7 = ($6|0)==(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 { + $$2 = 0; + return ($$2|0); + } else { + $$pre = HEAP32[$0>>2]|0; + $9 = $$pre; + break; + } + } else { + $9 = $2; + } + } while(0); + $8 = $9 & 128; + $10 = $8 ^ 128; + $11 = (___pthread_mutex_trylock($0)|0); + $12 = ($11|0)==(16); + if (!($12)) { + $$2 = $11; + return ($$2|0); + } + $13 = ((($0)) + 4|0); + $14 = ((($0)) + 8|0); + $$0 = 100; + while(1) { + $15 = (($$0) + -1)|0; + $16 = ($$0|0)==(0); + if ($16) { + break; + } + $17 = (Atomics_load(HEAP32,$13>>2)|0); + $18 = ($17|0)==(0); + if ($18) { + break; + } + $19 = (Atomics_load(HEAP32,$14>>2)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = $15; + } else { + break; + } + } + $21 = (___pthread_mutex_trylock($0)|0); + $22 = ($21|0)==(16); + if (!($22)) { + $$2 = $21; + return ($$2|0); + } + L18: while(1) { + $23 = (Atomics_load(HEAP32,$13>>2)|0); + $24 = ($23|0)==(0); + if (!($24)) { + $27 = $23 & 1073741824; + $28 = ($27|0)==(0); + $29 = HEAP32[$0>>2]|0; + $30 = $29 & 4; + $31 = ($30|0)==(0); + $or$cond40 = $28 | $31; + if ($or$cond40) { + $32 = $29 & 3; + $33 = ($32|0)==(2); + if ($33) { + $34 = $23 & 2147483647; + $35 = (_pthread_self()|0); + $36 = ((($35)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($34|0)==($37|0); + if ($38) { + $$2 = 35; + label = 17; 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) { + $39 = (Atomics_add(HEAP32, $14>>2, 1)|0); + $40 = $23 | -2147483648; + $41 = (Atomics_compareExchange(HEAP32, $13>>2, $23, $40)|0); + $42 = (___timedwait($13,$40,0,$1,$10)|0); + $43 = (Atomics_sub(HEAP32, $14>>2, 1)|0); + switch ($42|0) { + case 0: case 4: { break; - } else { - $$01925 = $24;$17 = $25; + } + default: { + $$2 = $42; + label = 17; + break L18; + } } } - $14 = HEAP8[$0>>0]|0; - $15 = ($14<<24>>24)==(0); - L10: do { - if ($15) { - $$1$lcssa = $0; + } + $25 = (___pthread_mutex_trylock($0)|0); + $26 = ($25|0)==(16); + if (!($26)) { + $$2 = $25; + label = 17; + break; + } + } + if ((label|0) == 17) { + return ($$2|0); + } + return (0)|0; +} +function ___timedwait($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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + (___pthread_setcancelstate(1,($5|0))|0); + _emscripten_conditional_set_current_thread_status(1,4); + $6 = (___timedwait_cp($0,$1,$2,$3,$4)|0); + _emscripten_conditional_set_current_thread_status(4,1); + $7 = HEAP32[$5>>2]|0; + (___pthread_setcancelstate(($7|0),(0|0))|0); + STACKTOP = sp;return ($6|0); +} +function ___timedwait_cp($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$$0$us = 0.0, $$$045 = 0.0, $$$046$us = 0.0, $$0$us = 0.0, $$0$us53 = 0.0, $$138 = 0, $$138$ph = 0, $$138$ph70 = 0, $$138$ph72 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 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); + $5 = sp; + $6 = ($3|0)!=(0|0); + if ($6) { + $7 = ((($3)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8>>>0)>(999999999); + if ($9) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $10 = (___clock_gettime(($2|0),($5|0))|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = (($12) - ($13))|0; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ((($5)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($15) - ($17))|0; + HEAP32[$16>>2] = $18; + $19 = ($18|0)<(0); + if ($19) { + $20 = (($14) + -1)|0; + HEAP32[$5>>2] = $20; + $21 = (($18) + 1000000000)|0; + HEAP32[$16>>2] = $21; + $23 = $20; + } else { + $23 = $14; + } + $22 = ($23|0)<(0); + if ($22) { + $$138 = 110; + STACKTOP = sp;return ($$138|0); + } + } + $24 = (_emscripten_is_main_runtime_thread()|0); + $25 = ($24|0)!=(0); + $$$045 = $25 ? 1.0 : 100.0; + if ($25) { + L15: while(1) { + $26 = (_pthread_self()|0); + $27 = (__pthread_isduecanceled($26)|0); + $28 = ($27|0)==(0); + if (!($28)) { + $$138$ph = 125; + break; + } + _emscripten_main_thread_process_queued_calls(); + if ($6) { + $29 = (+__pthread_msecs_until($3)); + $30 = !($29 <= 0.0); + $31 = $29 > 100.0; + $$0$us = $31 ? 100.0 : $29; + $32 = $$0$us > 1.0; + $$$0$us = $32 ? 1.0 : $$0$us; + if ($30) { + $$$046$us = $$$0$us; } 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; - } - } + $$138$ph = 110; + break; } - } while(0); - $39 = $$1$lcssa; - $40 = $0; - $41 = (($39) - ($40))|0; - $$0 = $41; + } else { + $$$046$us = $$$045; + } + $33 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$046$us))|0); + $34 = (0 - ($33))|0; + switch ($34|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph = $34; + break L15; + break; + } + default: { + $$138 = 0; + label = 21; + break L15; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph; + STACKTOP = sp;return ($$138|0); + } + if (!($6)) { + L27: while(1) { + $43 = (_pthread_self()|0); + $44 = (__pthread_isduecanceled($43)|0); + $45 = ($44|0)==(0); + if (!($45)) { + $$138$ph72 = 125; + break; + } + $46 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$045))|0); + $47 = (0 - ($46))|0; + switch ($47|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph72 = $47; + break L27; + break; + } + default: { + $$138 = 0; + label = 21; + break L27; + } + } } - } while(0); - STACKTOP = sp;return ($$0|0); + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph72; + STACKTOP = sp;return ($$138|0); + } + L34: while(1) { + $35 = (_pthread_self()|0); + $36 = (__pthread_isduecanceled($35)|0); + $37 = ($36|0)==(0); + if (!($37)) { + $$138$ph70 = 125; + break; + } + $38 = (+__pthread_msecs_until($3)); + $39 = !($38 <= 0.0); + if (!($39)) { + $$138$ph70 = 110; + break; + } + $40 = $38 > 100.0; + $$0$us53 = $40 ? 100.0 : $38; + $41 = (_emscripten_futex_wait(($0|0),($1|0),(+$$0$us53))|0); + $42 = (0 - ($41))|0; + switch ($42|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph70 = $42; + break L34; + break; + } + default: { + $$138 = 0; + label = 21; + break L34; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph70; + STACKTOP = sp;return ($$138|0); } -function _srand($0) { +function __pthread_isduecanceled($0) { $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + var $1 = 0, $2 = 0, $3 = 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; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(2); + $3 = $2&1; + return ($3|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; +function __pthread_msecs_until($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = 14112; - $1 = $0; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + (_gettimeofday(($1|0),(0|0))|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); + $3 = (+($2|0)); + $4 = $3 * 1000.0; + $5 = ((($1)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (+($6|0)); + $8 = $7 * 0.001; + $9 = $4 + $8; + $10 = HEAP32[$0>>2]|0; + $11 = (+($10|0)); + $12 = $11 * 1000.0; + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (+($14|0)); + $16 = $15 * 9.9999999999999995E-7; + $17 = $12 + $16; + $18 = $17 - $9; + STACKTOP = sp;return (+$18); } -function _vprintf($0,$1) { +function ___pthread_mutex_trylock($0) { $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[806]|0; - $3 = (_vfprintf($2,$0,$1)|0); - return ($3|0); + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = $5 & 16; + $$0 = $6; + return ($$0|0); + } else { + $7 = (___pthread_mutex_trylock_owner($0)|0); + $$0 = $7; + return ($$0|0); + } + return (0)|0; } -function _strcspn($0,$1) { +function ___pthread_mutex_trylock_owner($0) { $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; + var $$ = 0, $$1 = 0, $$154 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond57 = 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; - } - } - } + $1 = HEAP32[$0>>2]|0; + $2 = (_pthread_self()|0); + $3 = ((($2)) + 52|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 4|0); + $6 = (Atomics_load(HEAP32,$5>>2)|0); + $7 = $6 & 2147483647; + $8 = ($7|0)==($4|0); + $9 = $1 & 3; + $10 = ($9|0)==(1); + $or$cond = $10 & $8; + if ($or$cond) { + $11 = ((($0)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)>(2147483646); + if ($13) { + $$1 = 11; + return ($$1|0); + } + $14 = (($12) + 1)|0; + HEAP32[$11>>2] = $14; + $$1 = 0; + return ($$1|0); + } + $15 = ($7|0)==(2147483647); + if ($15) { + $$1 = 131; + return ($$1|0); + } + $16 = HEAP32[$0>>2]|0; + $17 = $16 & 128; + $18 = ($17|0)==(0); + if ($18) { + $$154 = $4; + } else { + $19 = ((($2)) + 172|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + HEAP32[$19>>2] = -12; + } + $22 = ((($0)) + 8|0); + $23 = (Atomics_load(HEAP32,$22>>2)|0); + $24 = ($23|0)==(0); + $25 = $4 | -2147483648; + $$ = $24 ? $4 : $25; + $26 = ((($0)) + 16|0); + $27 = ((($2)) + 176|0); + Atomics_store(HEAP32,$27>>2,$26)|0; + $$154 = $$; + } + $28 = ($7|0)!=(0); + if ($28) { + $29 = $6 & 1073741824; + $30 = ($29|0)==(0); + $31 = $1 & 4; + $32 = ($31|0)==(0); + $or$cond57 = $32 | $30; + if (!($or$cond57)) { + label = 11; + } + } else { + label = 11; + } + if ((label|0) == 11) { + $33 = (Atomics_compareExchange(HEAP32, $5>>2, $6, $$154)|0); + $34 = ($33|0)==($6|0); + if ($34) { + $36 = ((($2)) + 168|0); + $37 = (Atomics_load(HEAP32,$36>>2)|0); + $38 = ((($0)) + 16|0); + HEAP32[$38>>2] = $37; + $39 = ((($0)) + 12|0); + HEAP32[$39>>2] = $36; + $40 = ($37|0)==($36|0); + if (!($40)) { + $41 = ((($37)) + -4|0); + Atomics_store(HEAP32,$41>>2,$38)|0; + } + Atomics_store(HEAP32,$36>>2,$38)|0; + $42 = ((($2)) + 176|0); + Atomics_store(HEAP32,$42>>2,0)|0; + if (!($28)) { + $$1 = 0; + return ($$1|0); } + $43 = ((($0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = HEAP32[$0>>2]|0; + $45 = $44 | 8; + HEAP32[$0>>2] = $45; + $$1 = 130; + return ($$1|0); } - } 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); + $35 = ((($2)) + 176|0); + Atomics_store(HEAP32,$35>>2,0)|0; + $$1 = 16; + return ($$1|0); } -function _strcat($0,$1) { +function _pthread_mutexattr_destroy($0) { $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; + var label = 0, sp = 0; sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($0) + ($2)|0); - (_strcpy($3,$1)|0); - return ($0|0); + return 0; } -function _strtok($0,$1) { +function _pthread_mutexattr_init($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$0>>2] = 0; + return 0; +} +function _pthread_mutex_init($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; + var $$sroa$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = ($0|0)==(0|0); + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$sroa$0 = sp; + ;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[$$sroa$0+20>>2]=0|0;HEAP32[$$sroa$0+24>>2]=0|0; + ;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;HEAP32[$0+20>>2]=HEAP32[$$sroa$0+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$$sroa$0+24>>2]|0; + $2 = ($1|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; + STACKTOP = sp;return 0; } - 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); + $3 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $3; + STACKTOP = sp;return 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; + var $$$0192$i = 0, $$$0193$i = 0, $$$4230$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i17$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0198 = 0, $$0200 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024363$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, $$1 = 0, $$1196$i = 0; + var $$1198$i = 0, $$124462$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, $$2 = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i202 = 0, $$3229$i = 0, $$3235$i = 0, $$3350$i = 0; + var $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0, $$4230$i = 0, $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$7$i = 0, $$7239$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i18$i = 0, $$pre$i211 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i19$iZ2D = 0; + var $$pre$phi$i212Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i205 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0; + var $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $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; + var $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $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; + var $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $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, $1059 = 0, $106 = 0; + var $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0; + var $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 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, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0; + var $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0; + var $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0; + var $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, $618 = 0, $619 = 0, $62 = 0, $620 = 0; + var $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, $636 = 0, $637 = 0, $638 = 0, $639 = 0; + var $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, $654 = 0, $655 = 0, $656 = 0, $657 = 0; + var $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, $672 = 0, $673 = 0, $674 = 0, $675 = 0; + var $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, $690 = 0, $691 = 0, $692 = 0, $693 = 0; + var $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, $708 = 0, $709 = 0, $71 = 0, $710 = 0; + var $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, $726 = 0, $727 = 0, $728 = 0, $729 = 0; + var $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, $744 = 0, $745 = 0, $746 = 0, $747 = 0; + var $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, $762 = 0, $763 = 0, $764 = 0, $765 = 0; + var $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, $780 = 0, $781 = 0, $782 = 0, $783 = 0; + var $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, $799 = 0, $8 = 0, $80 = 0, $800 = 0; + var $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, $816 = 0, $817 = 0, $818 = 0, $819 = 0; + var $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, $834 = 0, $835 = 0, $836 = 0, $837 = 0; + var $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, $852 = 0, $853 = 0, $854 = 0, $855 = 0; + var $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, $870 = 0, $871 = 0, $872 = 0, $873 = 0; + var $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, $889 = 0, $89 = 0, $890 = 0, $891 = 0; + var $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, $906 = 0, $907 = 0, $908 = 0, $909 = 0; + var $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, $924 = 0, $925 = 0, $926 = 0, $927 = 0; + var $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, $942 = 0, $943 = 0, $944 = 0, $945 = 0; + var $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, $960 = 0, $961 = 0, $962 = 0, $963 = 0; + var $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, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0; + var $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, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0; + var $cond$i$i = 0, $cond$i209 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i21$i = 0, $not$$i210 = 0, $not$1$i = 0, $not$1$i204 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0, $or$cond$i = 0, $or$cond$i213 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond12$i = 0, $or$cond2$i = 0; + var $or$cond2$i214 = 0, $or$cond43$i = 0, $or$cond5$i = 0, $or$cond7$i = 0, $or$cond9$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); + $1 = sp + 4|0; + $2 = sp; + $3 = HEAP32[8852]|0; + $4 = ($3|0)==(0); + if ($4) { + (___pthread_mutex_lock(35432)|0); + $5 = HEAP32[8852]|0; + $6 = ($5|0)==(0); + if ($6) { + HEAP32[(35416)>>2] = 4096; + HEAP32[(35412)>>2] = 4096; + HEAP32[(35420)>>2] = -1; + HEAP32[(35424)>>2] = -1; + HEAP32[(35428)>>2] = 2; + HEAP32[(35904)>>2] = 2; + $7 = (_pthread_mutexattr_init($1)|0); + $8 = ($7|0)==(0); + if ($8) { + $9 = (_pthread_mutex_init((35908),$1)|0); + $10 = ($9|0)==(0); + if ($10) { + } + } + $11 = $2; + $12 = $11 & -16; + $13 = $12 ^ 1431655768; + HEAP32[$2>>2] = $13; + Atomics_store(HEAP32,8852,$13)|0; + } + (___pthread_mutex_unlock(35432)|0); + } + $14 = HEAP32[(35904)>>2]|0; + $15 = $14 & 2; + $16 = ($15|0)==(0); + if (!($16)) { + $17 = (___pthread_mutex_lock((35908))|0); + $18 = ($17|0)==(0); + if (!($18)) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + } + $19 = ($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); + if ($19) { + $20 = ($0>>>0)<(11); + $21 = (($0) + 11)|0; + $22 = $21 & -8; + $23 = $20 ? 16 : $22; + $24 = $23 >>> 3; + $25 = HEAP32[8865]|0; + $26 = $25 >>> $24; + $27 = $26 & 3; + $28 = ($27|0)==(0); + if (!($28)) { + $29 = $26 & 1; + $30 = $29 ^ 1; + $31 = (($30) + ($24))|0; + $32 = $31 << 1; + $33 = (35500 + ($32<<2)|0); + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($33|0)==($37|0); do { - if ($21) { - $22 = 1 << $14; - $23 = $22 ^ -1; - $24 = $8 & $23; - HEAP32[8286] = $24; + if ($38) { + $39 = 1 << $31; + $40 = $39 ^ -1; + $41 = $25 & $40; + HEAP32[8865] = $41; } else { - $25 = HEAP32[(33160)>>2]|0; - $26 = ($20>>>0)<($25>>>0); - if ($26) { + $42 = HEAP32[(35476)>>2]|0; + $43 = ($37>>>0)<($42>>>0); + if ($43) { _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; + $44 = ((($37)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==($35|0); + if ($46) { + HEAP32[$44>>2] = $33; + HEAP32[$34>>2] = $37; break; } else { _abort(); @@ -24027,79 +30315,79 @@ function _malloc($0) { } } } 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); + $47 = $31 << 3; + $48 = $47 | 3; + $49 = ((($35)) + 4|0); + HEAP32[$49>>2] = $48; + $50 = (($35) + ($47)|0); + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = $52 | 1; + HEAP32[$51>>2] = $53; + $$2 = $36; + break; } - $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); + $54 = HEAP32[(35468)>>2]|0; + $55 = ($23>>>0)>($54>>>0); + if ($55) { + $56 = ($26|0)==(0); + if (!($56)) { + $57 = $26 << $24; + $58 = 2 << $24; + $59 = (0 - ($58))|0; + $60 = $58 | $59; + $61 = $57 & $60; + $62 = (0 - ($61))|0; + $63 = $61 & $62; + $64 = (($63) + -1)|0; + $65 = $64 >>> 12; + $66 = $65 & 16; + $67 = $64 >>> $66; + $68 = $67 >>> 5; + $69 = $68 & 8; + $70 = $69 | $66; + $71 = $67 >>> $69; + $72 = $71 >>> 2; + $73 = $72 & 4; + $74 = $70 | $73; + $75 = $71 >>> $73; + $76 = $75 >>> 1; + $77 = $76 & 2; + $78 = $74 | $77; + $79 = $75 >>> $77; + $80 = $79 >>> 1; + $81 = $80 & 1; + $82 = $78 | $81; + $83 = $79 >>> $81; + $84 = (($82) + ($83))|0; + $85 = $84 << 1; + $86 = (35500 + ($85<<2)|0); + $87 = ((($86)) + 8|0); + $88 = HEAP32[$87>>2]|0; + $89 = ((($88)) + 8|0); + $90 = HEAP32[$89>>2]|0; + $91 = ($86|0)==($90|0); do { - if ($74) { - $75 = 1 << $67; - $76 = $75 ^ -1; - $77 = $8 & $76; - HEAP32[8286] = $77; - $98 = $77; + if ($91) { + $92 = 1 << $84; + $93 = $92 ^ -1; + $94 = $25 & $93; + HEAP32[8865] = $94; + $115 = $94; } else { - $78 = HEAP32[(33160)>>2]|0; - $79 = ($73>>>0)<($78>>>0); - if ($79) { + $95 = HEAP32[(35476)>>2]|0; + $96 = ($90>>>0)<($95>>>0); + if ($96) { _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; + $97 = ((($90)) + 12|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==($88|0); + if ($99) { + HEAP32[$97>>2] = $86; + HEAP32[$87>>2] = $90; + $115 = $25; break; } else { _abort(); @@ -24107,178 +30395,179 @@ function _malloc($0) { } } } 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; + $100 = $84 << 3; + $101 = (($100) - ($23))|0; + $102 = $23 | 3; + $103 = ((($88)) + 4|0); + HEAP32[$103>>2] = $102; + $104 = (($88) + ($23)|0); + $105 = $101 | 1; + $106 = ((($104)) + 4|0); + HEAP32[$106>>2] = $105; + $107 = (($104) + ($101)|0); + HEAP32[$107>>2] = $101; + $108 = ($54|0)==(0); + if (!($108)) { + $109 = HEAP32[(35480)>>2]|0; + $110 = $54 >>> 3; + $111 = $110 << 1; + $112 = (35500 + ($111<<2)|0); + $113 = 1 << $110; + $114 = $115 & $113; + $116 = ($114|0)==(0); + if ($116) { + $117 = $115 | $113; + HEAP32[8865] = $117; + $$pre = ((($112)) + 8|0); + $$0200 = $112;$$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) { + $118 = ((($112)) + 8|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[(35476)>>2]|0; + $121 = ($119>>>0)<($120>>>0); + if ($121) { _abort(); // unreachable; } else { - $$0199 = $102;$$pre$phiZ2D = $101; + $$0200 = $119;$$pre$phiZ2D = $118; } } - 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[$$pre$phiZ2D>>2] = $109; + $122 = ((($$0200)) + 12|0); + HEAP32[$122>>2] = $109; + $123 = ((($109)) + 8|0); + HEAP32[$123>>2] = $$0200; + $124 = ((($109)) + 12|0); + HEAP32[$124>>2] = $112; } - 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; + HEAP32[(35468)>>2] = $101; + HEAP32[(35480)>>2] = $104; + $$2 = $89; + break; + } + $125 = HEAP32[(35464)>>2]|0; + $126 = ($125|0)==(0); + if ($126) { + $$0198 = $23; + label = 153; } 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); + $127 = (0 - ($125))|0; + $128 = $125 & $127; + $129 = (($128) + -1)|0; + $130 = $129 >>> 12; + $131 = $130 & 16; + $132 = $129 >>> $131; + $133 = $132 >>> 5; + $134 = $133 & 8; + $135 = $134 | $131; + $136 = $132 >>> $134; + $137 = $136 >>> 2; + $138 = $137 & 4; + $139 = $135 | $138; + $140 = $136 >>> $138; + $141 = $140 >>> 1; + $142 = $141 & 2; + $143 = $139 | $142; + $144 = $140 >>> $142; + $145 = $144 >>> 1; + $146 = $145 & 1; + $147 = $143 | $146; + $148 = $144 >>> $146; + $149 = (($147) + ($148))|0; + $150 = (35764 + ($149<<2)|0); + $151 = HEAP32[$150>>2]|0; + $152 = ((($151)) + 4|0); + $153 = HEAP32[$152>>2]|0; + $154 = $153 & -8; + $155 = (($154) - ($23))|0; + $156 = ((($151)) + 16|0); + $157 = HEAP32[$156>>2]|0; + $not$5$i = ($157|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; + $158 = (((($151)) + 16|0) + ($$sink16$i<<2)|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==(0|0); + if ($160) { + $$0192$lcssa$i = $151;$$0193$lcssa$i = $155; } else { - $$01928$i = $134;$$01937$i = $138;$145 = $142; + $$01928$i = $151;$$01937$i = $155;$162 = $159; 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); + $161 = ((($162)) + 4|0); + $163 = HEAP32[$161>>2]|0; + $164 = $163 & -8; + $165 = (($164) - ($23))|0; + $166 = ($165>>>0)<($$01937$i>>>0); + $$$0193$i = $166 ? $165 : $$01937$i; + $$$0192$i = $166 ? $162 : $$01928$i; + $167 = ((($162)) + 16|0); + $168 = HEAP32[$167>>2]|0; + $not$$i = ($168|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) { + $169 = (((($162)) + 16|0) + ($$sink1$i<<2)|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; break; } else { - $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$162 = $170; } } } - $155 = HEAP32[(33160)>>2]|0; - $156 = ($$0192$lcssa$i>>>0)<($155>>>0); - if ($156) { + $172 = HEAP32[(35476)>>2]|0; + $173 = ($$0192$lcssa$i>>>0)<($172>>>0); + if ($173) { _abort(); // unreachable; } - $157 = (($$0192$lcssa$i) + ($6)|0); - $158 = ($$0192$lcssa$i>>>0)<($157>>>0); - if (!($158)) { + $174 = (($$0192$lcssa$i) + ($23)|0); + $175 = ($$0192$lcssa$i>>>0)<($174>>>0); + if (!($175)) { _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); + $176 = ((($$0192$lcssa$i)) + 24|0); + $177 = HEAP32[$176>>2]|0; + $178 = ((($$0192$lcssa$i)) + 12|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|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) { + if ($180) { + $190 = ((($$0192$lcssa$i)) + 20|0); + $191 = HEAP32[$190>>2]|0; + $192 = ($191|0)==(0|0); + if ($192) { + $193 = ((($$0192$lcssa$i)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $195 = ($194|0)==(0|0); + if ($195) { $$3$i = 0; break; } else { - $$1196$i = $177;$$1198$i = $176; + $$1196$i = $194;$$1198$i = $193; } } else { - $$1196$i = $174;$$1198$i = $173; + $$1196$i = $191;$$1198$i = $190; } 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; + $196 = ((($$1196$i)) + 20|0); + $197 = HEAP32[$196>>2]|0; + $198 = ($197|0)==(0|0); + if (!($198)) { + $$1196$i = $197;$$1198$i = $196; continue; } - $182 = ((($$1196$i)) + 16|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)==(0|0); - if ($184) { + $199 = ((($$1196$i)) + 16|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($200|0)==(0|0); + if ($201) { break; } else { - $$1196$i = $183;$$1198$i = $182; + $$1196$i = $200;$$1198$i = $199; } } - $185 = ($$1198$i>>>0)<($155>>>0); - if ($185) { + $202 = ($$1198$i>>>0)<($172>>>0); + if ($202) { _abort(); // unreachable; } else { @@ -24287,27 +30576,27 @@ function _malloc($0) { break; } } else { - $164 = ((($$0192$lcssa$i)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165>>>0)<($155>>>0); - if ($166) { + $181 = ((($$0192$lcssa$i)) + 8|0); + $182 = HEAP32[$181>>2]|0; + $183 = ($182>>>0)<($172>>>0); + if ($183) { _abort(); // unreachable; } - $167 = ((($165)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==($$0192$lcssa$i|0); - if (!($169)) { + $184 = ((($182)) + 12|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($185|0)==($$0192$lcssa$i|0); + if (!($186)) { _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; + $187 = ((($179)) + 8|0); + $188 = HEAP32[$187>>2]|0; + $189 = ($188|0)==($$0192$lcssa$i|0); + if ($189) { + HEAP32[$184>>2] = $179; + HEAP32[$187>>2] = $182; + $$3$i = $179; break; } else { _abort(); @@ -24315,397 +30604,401 @@ function _malloc($0) { } } } 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); + $203 = ($177|0)==(0|0); + L85: do { + if (!($203)) { + $204 = ((($$0192$lcssa$i)) + 28|0); + $205 = HEAP32[$204>>2]|0; + $206 = (35764 + ($205<<2)|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($$0192$lcssa$i|0)==($207|0); do { - if ($191) { - HEAP32[$189>>2] = $$3$i; + if ($208) { + HEAP32[$206>>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; + $209 = 1 << $205; + $210 = $209 ^ -1; + $211 = $125 & $210; + HEAP32[(35464)>>2] = $211; + break L85; } } else { - $195 = HEAP32[(33160)>>2]|0; - $196 = ($160>>>0)<($195>>>0); - if ($196) { + $212 = HEAP32[(35476)>>2]|0; + $213 = ($177>>>0)<($212>>>0); + if ($213) { _abort(); // unreachable; } else { - $197 = ((($160)) + 16|0); - $198 = HEAP32[$197>>2]|0; - $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $214 = ((($177)) + 16|0); + $215 = HEAP32[$214>>2]|0; + $not$1$i = ($215|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; + $216 = (((($177)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$216>>2] = $$3$i; + $217 = ($$3$i|0)==(0|0); + if ($217) { + break L85; } else { break; } } } } while(0); - $201 = HEAP32[(33160)>>2]|0; - $202 = ($$3$i>>>0)<($201>>>0); - if ($202) { + $218 = HEAP32[(35476)>>2]|0; + $219 = ($$3$i>>>0)<($218>>>0); + if ($219) { _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); + $220 = ((($$3$i)) + 24|0); + HEAP32[$220>>2] = $177; + $221 = ((($$0192$lcssa$i)) + 16|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); do { - if (!($206)) { - $207 = ($205>>>0)<($201>>>0); - if ($207) { + if (!($223)) { + $224 = ($222>>>0)<($218>>>0); + if ($224) { _abort(); // unreachable; } else { - $208 = ((($$3$i)) + 16|0); - HEAP32[$208>>2] = $205; - $209 = ((($205)) + 24|0); - HEAP32[$209>>2] = $$3$i; + $225 = ((($$3$i)) + 16|0); + HEAP32[$225>>2] = $222; + $226 = ((($222)) + 24|0); + HEAP32[$226>>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) { + $227 = ((($$0192$lcssa$i)) + 20|0); + $228 = HEAP32[$227>>2]|0; + $229 = ($228|0)==(0|0); + if (!($229)) { + $230 = HEAP32[(35476)>>2]|0; + $231 = ($228>>>0)<($230>>>0); + if ($231) { _abort(); // unreachable; } else { - $215 = ((($$3$i)) + 20|0); - HEAP32[$215>>2] = $211; - $216 = ((($211)) + 24|0); - HEAP32[$216>>2] = $$3$i; + $232 = ((($$3$i)) + 20|0); + HEAP32[$232>>2] = $228; + $233 = ((($228)) + 24|0); + HEAP32[$233>>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; + $234 = ($$0193$lcssa$i>>>0)<(16); + if ($234) { + $235 = (($$0193$lcssa$i) + ($23))|0; + $236 = $235 | 3; + $237 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$237>>2] = $236; + $238 = (($$0192$lcssa$i) + ($235)|0); + $239 = ((($238)) + 4|0); + $240 = HEAP32[$239>>2]|0; + $241 = $240 | 1; + HEAP32[$239>>2] = $241; } 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; + $242 = $23 | 3; + $243 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$243>>2] = $242; + $244 = $$0193$lcssa$i | 1; + $245 = ((($174)) + 4|0); + HEAP32[$245>>2] = $244; + $246 = (($174) + ($$0193$lcssa$i)|0); + HEAP32[$246>>2] = $$0193$lcssa$i; + $247 = ($54|0)==(0); + if (!($247)) { + $248 = HEAP32[(35480)>>2]|0; + $249 = $54 >>> 3; + $250 = $249 << 1; + $251 = (35500 + ($250<<2)|0); + $252 = 1 << $249; + $253 = $25 & $252; + $254 = ($253|0)==(0); + if ($254) { + $255 = $25 | $252; + HEAP32[8865] = $255; + $$pre$i = ((($251)) + 8|0); + $$0189$i = $251;$$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) { + $256 = ((($251)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = HEAP32[(35476)>>2]|0; + $259 = ($257>>>0)<($258>>>0); + if ($259) { _abort(); // unreachable; } else { - $$0189$i = $240;$$pre$phi$iZ2D = $239; + $$0189$i = $257;$$pre$phi$iZ2D = $256; } } - 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[$$pre$phi$iZ2D>>2] = $248; + $260 = ((($$0189$i)) + 12|0); + HEAP32[$260>>2] = $248; + $261 = ((($248)) + 8|0); + HEAP32[$261>>2] = $$0189$i; + $262 = ((($248)) + 12|0); + HEAP32[$262>>2] = $251; } - HEAP32[(33152)>>2] = $$0193$lcssa$i; - HEAP32[(33164)>>2] = $157; + HEAP32[(35468)>>2] = $$0193$lcssa$i; + HEAP32[(35480)>>2] = $174; } - $246 = ((($$0192$lcssa$i)) + 8|0); - $$0 = $246; - STACKTOP = sp;return ($$0|0); + $263 = ((($$0192$lcssa$i)) + 8|0); + $$2 = $263; } } else { - $$0197 = $6; + $$0198 = $23; + label = 153; } } else { - $247 = ($0>>>0)>(4294967231); - if ($247) { - $$0197 = -1; + $264 = ($0>>>0)>(4294967231); + if ($264) { + $$0198 = -1; + label = 153; } else { - $248 = (($0) + 11)|0; - $249 = $248 & -8; - $250 = HEAP32[(33148)>>2]|0; - $251 = ($250|0)==(0); - if ($251) { - $$0197 = $249; + $265 = (($0) + 11)|0; + $266 = $265 & -8; + $267 = HEAP32[(35464)>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$0198 = $266; + label = 153; } else { - $252 = (0 - ($249))|0; - $253 = $248 >>> 8; - $254 = ($253|0)==(0); - if ($254) { + $269 = (0 - ($266))|0; + $270 = $265 >>> 8; + $271 = ($270|0)==(0); + if ($271) { $$0358$i = 0; } else { - $255 = ($249>>>0)>(16777215); - if ($255) { + $272 = ($266>>>0)>(16777215); + if ($272) { $$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; + $273 = (($270) + 1048320)|0; + $274 = $273 >>> 16; + $275 = $274 & 8; + $276 = $270 << $275; + $277 = (($276) + 520192)|0; + $278 = $277 >>> 16; + $279 = $278 & 4; + $280 = $279 | $275; + $281 = $276 << $279; + $282 = (($281) + 245760)|0; + $283 = $282 >>> 16; + $284 = $283 & 2; + $285 = $280 | $284; + $286 = (14 - ($285))|0; + $287 = $281 << $284; + $288 = $287 >>> 15; + $289 = (($286) + ($288))|0; + $290 = $289 << 1; + $291 = (($289) + 7)|0; + $292 = $266 >>> $291; + $293 = $292 & 1; + $294 = $293 | $290; + $$0358$i = $294; } } - $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; + $295 = (35764 + ($$0358$i<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($296|0)==(0|0); + L128: do { + if ($297) { + $$2355$i = 0;$$3$i202 = 0;$$3350$i = $269; + label = 90; } 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; + $298 = ($$0358$i|0)==(31); + $299 = $$0358$i >>> 1; + $300 = (25 - ($299))|0; + $301 = $298 ? 0 : $300; + $302 = $266 << $301; + $$0342$i = 0;$$0347$i = $269;$$0353$i = $296;$$0359$i = $302;$$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) { + $303 = ((($$0353$i)) + 4|0); + $304 = HEAP32[$303>>2]|0; + $305 = $304 & -8; + $306 = (($305) - ($266))|0; + $307 = ($306>>>0)<($$0347$i>>>0); + if ($307) { + $308 = ($306|0)==(0); + if ($308) { $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; - label = 85; - break L117; + label = 94; + break L128; } else { - $$1343$i = $$0353$i;$$1348$i = $289; + $$1343$i = $$0353$i;$$1348$i = $306; } } 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; + $309 = ((($$0353$i)) + 20|0); + $310 = HEAP32[$309>>2]|0; + $311 = $$0359$i >>> 31; + $312 = (((($$0353$i)) + 16|0) + ($311<<2)|0); + $313 = HEAP32[$312>>2]|0; + $314 = ($310|0)==(0|0); + $315 = ($310|0)==($313|0); + $or$cond2$i = $314 | $315; + $$1363$i = $or$cond2$i ? $$0362$i : $310; + $316 = ($313|0)==(0|0); + $not$8$i = $316 ^ 1; + $317 = $not$8$i&1; + $$0359$$i = $$0359$i << $317; + if ($316) { + $$2355$i = $$1363$i;$$3$i202 = $$1343$i;$$3350$i = $$1348$i; + label = 90; break; } else { - $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $313;$$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 ((label|0) == 90) { + $318 = ($$2355$i|0)==(0|0); + $319 = ($$3$i202|0)==(0|0); + $or$cond$i = $318 & $319; 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; + $320 = 2 << $$0358$i; + $321 = (0 - ($320))|0; + $322 = $320 | $321; + $323 = $267 & $322; + $324 = ($323|0)==(0); + if ($324) { + $$0198 = $266; + label = 153; 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; + $325 = (0 - ($323))|0; + $326 = $323 & $325; + $327 = (($326) + -1)|0; + $328 = $327 >>> 12; + $329 = $328 & 16; + $330 = $327 >>> $329; + $331 = $330 >>> 5; + $332 = $331 & 8; + $333 = $332 | $329; + $334 = $330 >>> $332; + $335 = $334 >>> 2; + $336 = $335 & 4; + $337 = $333 | $336; + $338 = $334 >>> $336; + $339 = $338 >>> 1; + $340 = $339 & 2; + $341 = $337 | $340; + $342 = $338 >>> $340; + $343 = $342 >>> 1; + $344 = $343 & 1; + $345 = $341 | $344; + $346 = $342 >>> $344; + $347 = (($345) + ($346))|0; + $348 = (35764 + ($347<<2)|0); + $349 = HEAP32[$348>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $349; } else { - $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + $$4$ph$i = $$3$i202;$$4357$ph$i = $$2355$i; } - $333 = ($$4357$ph$i|0)==(0|0); - if ($333) { + $350 = ($$4357$ph$i|0)==(0|0); + if ($350) { $$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; + label = 94; } } - if ((label|0) == 85) { + if ((label|0) == 94) { 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) { + $351 = ((($$435713$i)) + 4|0); + $352 = HEAP32[$351>>2]|0; + $353 = $352 & -8; + $354 = (($353) - ($266))|0; + $355 = ($354>>>0)<($$435114$i>>>0); + $$$4351$i = $355 ? $354 : $$435114$i; + $$4357$$4$i = $355 ? $$435713$i : $$415$i; + $356 = ((($$435713$i)) + 16|0); + $357 = HEAP32[$356>>2]|0; + $not$1$i204 = ($357|0)==(0|0); + $$sink2$i205 = $not$1$i204&1; + $358 = (((($$435713$i)) + 16|0) + ($$sink2$i205<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0|0); + if ($360) { $$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; + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $359; + label = 94; } } } - $344 = ($$4$lcssa$i|0)==(0|0); - if ($344) { - $$0197 = $249; + $361 = ($$4$lcssa$i|0)==(0|0); + if ($361) { + $$0198 = $266; + label = 153; } 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) { + $362 = HEAP32[(35468)>>2]|0; + $363 = (($362) - ($266))|0; + $364 = ($$4351$lcssa$i>>>0)<($363>>>0); + if ($364) { + $365 = HEAP32[(35476)>>2]|0; + $366 = ($$4$lcssa$i>>>0)<($365>>>0); + if ($366) { _abort(); // unreachable; } - $350 = (($$4$lcssa$i) + ($249)|0); - $351 = ($$4$lcssa$i>>>0)<($350>>>0); - if (!($351)) { + $367 = (($$4$lcssa$i) + ($266)|0); + $368 = ($$4$lcssa$i>>>0)<($367>>>0); + if (!($368)) { _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); + $369 = ((($$4$lcssa$i)) + 24|0); + $370 = HEAP32[$369>>2]|0; + $371 = ((($$4$lcssa$i)) + 12|0); + $372 = HEAP32[$371>>2]|0; + $373 = ($372|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) { + if ($373) { + $383 = ((($$4$lcssa$i)) + 20|0); + $384 = HEAP32[$383>>2]|0; + $385 = ($384|0)==(0|0); + if ($385) { + $386 = ((($$4$lcssa$i)) + 16|0); + $387 = HEAP32[$386>>2]|0; + $388 = ($387|0)==(0|0); + if ($388) { $$3372$i = 0; break; } else { - $$1370$i = $370;$$1374$i = $369; + $$1370$i = $387;$$1374$i = $386; } } else { - $$1370$i = $367;$$1374$i = $366; + $$1370$i = $384;$$1374$i = $383; } 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; + $389 = ((($$1370$i)) + 20|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($390|0)==(0|0); + if (!($391)) { + $$1370$i = $390;$$1374$i = $389; continue; } - $375 = ((($$1370$i)) + 16|0); - $376 = HEAP32[$375>>2]|0; - $377 = ($376|0)==(0|0); - if ($377) { + $392 = ((($$1370$i)) + 16|0); + $393 = HEAP32[$392>>2]|0; + $394 = ($393|0)==(0|0); + if ($394) { break; } else { - $$1370$i = $376;$$1374$i = $375; + $$1370$i = $393;$$1374$i = $392; } } - $378 = ($$1374$i>>>0)<($348>>>0); - if ($378) { + $395 = ($$1374$i>>>0)<($365>>>0); + if ($395) { _abort(); // unreachable; } else { @@ -24714,27 +31007,27 @@ function _malloc($0) { break; } } else { - $357 = ((($$4$lcssa$i)) + 8|0); - $358 = HEAP32[$357>>2]|0; - $359 = ($358>>>0)<($348>>>0); - if ($359) { + $374 = ((($$4$lcssa$i)) + 8|0); + $375 = HEAP32[$374>>2]|0; + $376 = ($375>>>0)<($365>>>0); + if ($376) { _abort(); // unreachable; } - $360 = ((($358)) + 12|0); - $361 = HEAP32[$360>>2]|0; - $362 = ($361|0)==($$4$lcssa$i|0); - if (!($362)) { + $377 = ((($375)) + 12|0); + $378 = HEAP32[$377>>2]|0; + $379 = ($378|0)==($$4$lcssa$i|0); + if (!($379)) { _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; + $380 = ((($372)) + 8|0); + $381 = HEAP32[$380>>2]|0; + $382 = ($381|0)==($$4$lcssa$i|0); + if ($382) { + HEAP32[$377>>2] = $372; + HEAP32[$380>>2] = $375; + $$3372$i = $372; break; } else { _abort(); @@ -24742,273 +31035,275 @@ function _malloc($0) { } } } while(0); - $379 = ($353|0)==(0|0); - L164: do { - if ($379) { - $470 = $250; + $396 = ($370|0)==(0|0); + L175: do { + if ($396) { + $487 = $267; } 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); + $397 = ((($$4$lcssa$i)) + 28|0); + $398 = HEAP32[$397>>2]|0; + $399 = (35764 + ($398<<2)|0); + $400 = HEAP32[$399>>2]|0; + $401 = ($$4$lcssa$i|0)==($400|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; + if ($401) { + HEAP32[$399>>2] = $$3372$i; + $cond$i209 = ($$3372$i|0)==(0|0); + if ($cond$i209) { + $402 = 1 << $398; + $403 = $402 ^ -1; + $404 = $267 & $403; + HEAP32[(35464)>>2] = $404; + $487 = $404; + break L175; } } else { - $388 = HEAP32[(33160)>>2]|0; - $389 = ($353>>>0)<($388>>>0); - if ($389) { + $405 = HEAP32[(35476)>>2]|0; + $406 = ($370>>>0)<($405>>>0); + if ($406) { _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; + $407 = ((($370)) + 16|0); + $408 = HEAP32[$407>>2]|0; + $not$$i210 = ($408|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i210&1; + $409 = (((($370)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$409>>2] = $$3372$i; + $410 = ($$3372$i|0)==(0|0); + if ($410) { + $487 = $267; + break L175; } else { break; } } } } while(0); - $394 = HEAP32[(33160)>>2]|0; - $395 = ($$3372$i>>>0)<($394>>>0); - if ($395) { + $411 = HEAP32[(35476)>>2]|0; + $412 = ($$3372$i>>>0)<($411>>>0); + if ($412) { _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); + $413 = ((($$3372$i)) + 24|0); + HEAP32[$413>>2] = $370; + $414 = ((($$4$lcssa$i)) + 16|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($415|0)==(0|0); do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { + if (!($416)) { + $417 = ($415>>>0)<($411>>>0); + if ($417) { _abort(); // unreachable; } else { - $401 = ((($$3372$i)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $$3372$i; + $418 = ((($$3372$i)) + 16|0); + HEAP32[$418>>2] = $415; + $419 = ((($415)) + 24|0); + HEAP32[$419>>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; + $420 = ((($$4$lcssa$i)) + 20|0); + $421 = HEAP32[$420>>2]|0; + $422 = ($421|0)==(0|0); + if ($422) { + $487 = $267; } else { - $406 = HEAP32[(33160)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { + $423 = HEAP32[(35476)>>2]|0; + $424 = ($421>>>0)<($423>>>0); + if ($424) { _abort(); // unreachable; } else { - $408 = ((($$3372$i)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $$3372$i; - $470 = $250; + $425 = ((($$3372$i)) + 20|0); + HEAP32[$425>>2] = $421; + $426 = ((($421)) + 24|0); + HEAP32[$426>>2] = $$3372$i; + $487 = $267; break; } } } } while(0); - $410 = ($$4351$lcssa$i>>>0)<(16); + $427 = ($$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; + if ($427) { + $428 = (($$4351$lcssa$i) + ($266))|0; + $429 = $428 | 3; + $430 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$430>>2] = $429; + $431 = (($$4$lcssa$i) + ($428)|0); + $432 = ((($431)) + 4|0); + $433 = HEAP32[$432>>2]|0; + $434 = $433 | 1; + HEAP32[$432>>2] = $434; } 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) { + $435 = $266 | 3; + $436 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$436>>2] = $435; + $437 = $$4351$lcssa$i | 1; + $438 = ((($367)) + 4|0); + HEAP32[$438>>2] = $437; + $439 = (($367) + ($$4351$lcssa$i)|0); + HEAP32[$439>>2] = $$4351$lcssa$i; + $440 = $$4351$lcssa$i >>> 3; + $441 = ($$4351$lcssa$i>>>0)<(256); + if ($441) { + $442 = $440 << 1; + $443 = (35500 + ($442<<2)|0); + $444 = HEAP32[8865]|0; + $445 = 1 << $440; + $446 = $444 & $445; + $447 = ($446|0)==(0); + do { + if ($447) { + $448 = $444 | $445; + HEAP32[8865] = $448; + $$pre$i211 = ((($443)) + 8|0); + $$0368$i = $443;$$pre$phi$i212Z2D = $$pre$i211; + } else { + $449 = ((($443)) + 8|0); + $450 = HEAP32[$449>>2]|0; + $451 = HEAP32[(35476)>>2]|0; + $452 = ($450>>>0)<($451>>>0); + if (!($452)) { + $$0368$i = $450;$$pre$phi$i212Z2D = $449; + break; + } _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; + } while(0); + HEAP32[$$pre$phi$i212Z2D>>2] = $367; + $453 = ((($$0368$i)) + 12|0); + HEAP32[$453>>2] = $367; + $454 = ((($367)) + 8|0); + HEAP32[$454>>2] = $$0368$i; + $455 = ((($367)) + 12|0); + HEAP32[$455>>2] = $443; break; } - $439 = $$4351$lcssa$i >>> 8; - $440 = ($439|0)==(0); - if ($440) { + $456 = $$4351$lcssa$i >>> 8; + $457 = ($456|0)==(0); + if ($457) { $$0361$i = 0; } else { - $441 = ($$4351$lcssa$i>>>0)>(16777215); - if ($441) { + $458 = ($$4351$lcssa$i>>>0)>(16777215); + if ($458) { $$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; + $459 = (($456) + 1048320)|0; + $460 = $459 >>> 16; + $461 = $460 & 8; + $462 = $456 << $461; + $463 = (($462) + 520192)|0; + $464 = $463 >>> 16; + $465 = $464 & 4; + $466 = $465 | $461; + $467 = $462 << $465; + $468 = (($467) + 245760)|0; + $469 = $468 >>> 16; + $470 = $469 & 2; + $471 = $466 | $470; + $472 = (14 - ($471))|0; + $473 = $467 << $470; + $474 = $473 >>> 15; + $475 = (($472) + ($474))|0; + $476 = $475 << 1; + $477 = (($475) + 7)|0; + $478 = $$4351$lcssa$i >>> $477; + $479 = $478 & 1; + $480 = $479 | $476; + $$0361$i = $480; } } - $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; + $481 = (35764 + ($$0361$i<<2)|0); + $482 = ((($367)) + 28|0); + HEAP32[$482>>2] = $$0361$i; + $483 = ((($367)) + 16|0); + $484 = ((($483)) + 4|0); + HEAP32[$484>>2] = 0; + HEAP32[$483>>2] = 0; + $485 = 1 << $$0361$i; + $486 = $487 & $485; + $488 = ($486|0)==(0); + if ($488) { + $489 = $487 | $485; + HEAP32[(35464)>>2] = $489; + HEAP32[$481>>2] = $367; + $490 = ((($367)) + 24|0); + HEAP32[$490>>2] = $481; + $491 = ((($367)) + 12|0); + HEAP32[$491>>2] = $367; + $492 = ((($367)) + 8|0); + HEAP32[$492>>2] = $367; 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; + $493 = HEAP32[$481>>2]|0; + $494 = ($$0361$i|0)==(31); + $495 = $$0361$i >>> 1; + $496 = (25 - ($495))|0; + $497 = $494 ? 0 : $496; + $498 = $$4351$lcssa$i << $497; + $$0344$i = $498;$$0345$i = $493; 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; + $499 = ((($$0345$i)) + 4|0); + $500 = HEAP32[$499>>2]|0; + $501 = $500 & -8; + $502 = ($501|0)==($$4351$lcssa$i|0); + if ($502) { + label = 148; 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; + $503 = $$0344$i >>> 31; + $504 = (((($$0345$i)) + 16|0) + ($503<<2)|0); + $505 = $$0344$i << 1; + $506 = HEAP32[$504>>2]|0; + $507 = ($506|0)==(0|0); + if ($507) { + label = 145; break; } else { - $$0344$i = $488;$$0345$i = $489; + $$0344$i = $505;$$0345$i = $506; } } - if ((label|0) == 136) { - $491 = HEAP32[(33160)>>2]|0; - $492 = ($487>>>0)<($491>>>0); - if ($492) { + if ((label|0) == 145) { + $508 = HEAP32[(35476)>>2]|0; + $509 = ($504>>>0)<($508>>>0); + if ($509) { _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; + HEAP32[$504>>2] = $367; + $510 = ((($367)) + 24|0); + HEAP32[$510>>2] = $$0345$i; + $511 = ((($367)) + 12|0); + HEAP32[$511>>2] = $367; + $512 = ((($367)) + 8|0); + HEAP32[$512>>2] = $367; 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; + else if ((label|0) == 148) { + $513 = ((($$0345$i)) + 8|0); + $514 = HEAP32[$513>>2]|0; + $515 = HEAP32[(35476)>>2]|0; + $516 = ($514>>>0)>=($515>>>0); + $not$9$i = ($$0345$i>>>0)>=($515>>>0); + $517 = $516 & $not$9$i; + if ($517) { + $518 = ((($514)) + 12|0); + HEAP32[$518>>2] = $367; + HEAP32[$513>>2] = $367; + $519 = ((($367)) + 8|0); + HEAP32[$519>>2] = $514; + $520 = ((($367)) + 12|0); + HEAP32[$520>>2] = $$0345$i; + $521 = ((($367)) + 24|0); + HEAP32[$521>>2] = 0; break; } else { _abort(); @@ -25017,1698 +31312,1461 @@ function _malloc($0) { } } } while(0); - $505 = ((($$4$lcssa$i)) + 8|0); - $$0 = $505; - STACKTOP = sp;return ($$0|0); + $522 = ((($$4$lcssa$i)) + 8|0); + $$2 = $522; } else { - $$0197 = $249; + $$0198 = $266; + label = 153; } } } } } } 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; + L230: do { + if ((label|0) == 153) { + $523 = HEAP32[(35468)>>2]|0; + $524 = ($523>>>0)<($$0198>>>0); + if (!($524)) { + $525 = (($523) - ($$0198))|0; + $526 = HEAP32[(35480)>>2]|0; + $527 = ($525>>>0)>(15); + if ($527) { + $528 = (($526) + ($$0198)|0); + HEAP32[(35480)>>2] = $528; + HEAP32[(35468)>>2] = $525; + $529 = $525 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = (($528) + ($525)|0); + HEAP32[$531>>2] = $525; + $532 = $$0198 | 3; + $533 = ((($526)) + 4|0); + HEAP32[$533>>2] = $532; } 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; - } + HEAP32[(35468)>>2] = 0; + HEAP32[(35480)>>2] = 0; + $534 = $523 | 3; + $535 = ((($526)) + 4|0); + HEAP32[$535>>2] = $534; + $536 = (($526) + ($523)|0); + $537 = ((($536)) + 4|0); + $538 = HEAP32[$537>>2]|0; + $539 = $538 | 1; + HEAP32[$537>>2] = $539; + } + $540 = ((($526)) + 8|0); + $$2 = $540; + break; + } + $541 = HEAP32[(35472)>>2]|0; + $542 = ($541>>>0)>($$0198>>>0); + if ($542) { + $543 = (($541) - ($$0198))|0; + HEAP32[(35472)>>2] = $543; + $544 = HEAP32[(35484)>>2]|0; + $545 = (($544) + ($$0198)|0); + HEAP32[(35484)>>2] = $545; + $546 = $543 | 1; + $547 = ((($545)) + 4|0); + HEAP32[$547>>2] = $546; + $548 = $$0198 | 3; + $549 = ((($544)) + 4|0); + HEAP32[$549>>2] = $548; + $550 = ((($544)) + 8|0); + $$2 = $550; + break; + } + $551 = HEAP32[8852]|0; + $552 = ($551|0)==(0); + if ($552) { + (___pthread_mutex_lock(35432)|0); + $553 = HEAP32[8852]|0; + $554 = ($553|0)==(0); + if ($554) { + HEAP32[(35416)>>2] = 4096; + HEAP32[(35412)>>2] = 4096; + HEAP32[(35420)>>2] = -1; + HEAP32[(35424)>>2] = -1; + HEAP32[(35428)>>2] = 2; + HEAP32[(35904)>>2] = 2; + $555 = (_pthread_mutexattr_init($1)|0); + $556 = ($555|0)==(0); + if ($556) { + $557 = (_pthread_mutex_init((35908),$1)|0); + $558 = ($557|0)==(0); + if ($558) { } - $563 = ((($$0$i$i)) + 8|0); - $564 = HEAP32[$563>>2]|0; - $565 = ($564|0)==(0|0); - if ($565) { - label = 163; - break L246; + } + $559 = $2; + $560 = $559 & -16; + $561 = $560 ^ 1431655768; + HEAP32[$2>>2] = $561; + Atomics_store(HEAP32,8852,$561)|0; + } + (___pthread_mutex_unlock(35432)|0); + } + $562 = (($$0198) + 48)|0; + $563 = HEAP32[(35416)>>2]|0; + $564 = (($$0198) + 47)|0; + $565 = (($563) + ($564))|0; + $566 = (0 - ($563))|0; + $567 = $565 & $566; + $568 = ($567>>>0)>($$0198>>>0); + if ($568) { + $569 = HEAP32[(35900)>>2]|0; + $570 = ($569|0)==(0); + if (!($570)) { + $571 = HEAP32[(35892)>>2]|0; + $572 = (($571) + ($567))|0; + $573 = ($572>>>0)<=($571>>>0); + $574 = ($572>>>0)>($569>>>0); + $or$cond1$i = $573 | $574; + if ($or$cond1$i) { + $$2 = 0; + break; + } + } + $575 = HEAP32[(35904)>>2]|0; + $576 = $575 & 4; + $577 = ($576|0)==(0); + if ($577) { + $578 = HEAP32[(35484)>>2]|0; + $579 = ($578|0)==(0|0); + L258: do { + if ($579) { + label = 176; } else { - $$0$i$i = $564; + $$0$i$i = (35936); + while(1) { + $580 = HEAP32[$$0$i$i>>2]|0; + $581 = ($580>>>0)>($578>>>0); + if (!($581)) { + $582 = ((($$0$i$i)) + 4|0); + $583 = HEAP32[$582>>2]|0; + $584 = (($580) + ($583)|0); + $585 = ($584>>>0)>($578>>>0); + if ($585) { + break; + } + } + $586 = ((($$0$i$i)) + 8|0); + $587 = HEAP32[$586>>2]|0; + $588 = ($587|0)==(0|0); + if ($588) { + label = 176; + break L258; + } else { + $$0$i$i = $587; + } + } + (___pthread_mutex_lock(35432)|0); + $611 = HEAP32[(35472)>>2]|0; + $612 = HEAP32[(35416)>>2]|0; + $613 = (($564) - ($611))|0; + $614 = (($613) + ($612))|0; + $615 = (0 - ($612))|0; + $616 = $614 & $615; + $617 = ($616>>>0)<(2147483647); + if ($617) { + $618 = (_sbrk(($616|0))|0); + $619 = HEAP32[$$0$i$i>>2]|0; + $620 = HEAP32[$582>>2]|0; + $621 = (($619) + ($620)|0); + $622 = ($618|0)==($621|0); + if ($622) { + $623 = ($618|0)==((-1)|0); + if ($623) { + $$2234253237$i = $616; + label = 190; + } else { + $$3229$i = $618;$$3235$i = $616; + } + } else { + $$2247$ph$i = $618;$$2253$ph$i = $616; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } } - } - $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; + } while(0); + do { + if ((label|0) == 176) { + (___pthread_mutex_lock(35432)|0); + $589 = (_sbrk(0)|0); + $590 = ($589|0)==((-1)|0); + if ($590) { + $$2234253237$i = 0; + label = 190; } else { - $$723948$i = $589;$$749$i = $591; - label = 180; - break L244; + $591 = $589; + $592 = HEAP32[(35412)>>2]|0; + $593 = (($592) + -1)|0; + $594 = $593 & $591; + $595 = ($594|0)==(0); + $596 = (($593) + ($591))|0; + $597 = (0 - ($592))|0; + $598 = $596 & $597; + $599 = (($598) - ($591))|0; + $600 = $595 ? 0 : $599; + $$$i = (($600) + ($567))|0; + $601 = HEAP32[(35892)>>2]|0; + $602 = (($$$i) + ($601))|0; + $603 = ($$$i>>>0)>($$0198>>>0); + $604 = ($$$i>>>0)<(2147483647); + $or$cond$i213 = $603 & $604; + if ($or$cond$i213) { + $605 = HEAP32[(35900)>>2]|0; + $606 = ($605|0)==(0); + if (!($606)) { + $607 = ($602>>>0)<=($601>>>0); + $608 = ($602>>>0)>($605>>>0); + $or$cond2$i214 = $607 | $608; + if ($or$cond2$i214) { + $$2234253237$i = 0; + label = 190; + break; + } + } + $609 = (_sbrk(($$$i|0))|0); + $610 = ($609|0)==($589|0); + if ($610) { + $$3229$i = $589;$$3235$i = $$$i; + } else { + $$2247$ph$i = $609;$$2253$ph$i = $$$i; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } } - } 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) { + } while(0); + do { + if ((label|0) == 184) { + $624 = (0 - ($$2253$ph$i))|0; + $625 = ($$2247$ph$i|0)!=((-1)|0); + $626 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $626 & $625; + $627 = ($562>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $627 & $or$cond7$i; + if (!($or$cond10$i)) { + $637 = ($$2247$ph$i|0)==((-1)|0); + if ($637) { $$2234253237$i = 0; + label = 190; + break; + } else { + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; break; } } - $586 = (_sbrk(($$$i|0))|0); - $587 = ($586|0)==($566|0); - if ($587) { - $$723948$i = $$$i;$$749$i = $566; - label = 180; - break L244; + $628 = HEAP32[(35416)>>2]|0; + $629 = (($564) - ($$2253$ph$i))|0; + $630 = (($629) + ($628))|0; + $631 = (0 - ($628))|0; + $632 = $630 & $631; + $633 = ($632>>>0)<(2147483647); + if ($633) { + $634 = (_sbrk(($632|0))|0); + $635 = ($634|0)==((-1)|0); + if ($635) { + (_sbrk(($624|0))|0); + $$2234253237$i = 0; + label = 190; + break; + } else { + $636 = (($632) + ($$2253$ph$i))|0; + $$3229$i = $$2247$ph$i;$$3235$i = $636; + break; + } } else { - $$2247$ph$i = $586;$$2253$ph$i = $$$i; - label = 171; + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; } - } 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; } + } while(0); + if ((label|0) == 190) { + $638 = HEAP32[(35904)>>2]|0; + $639 = $638 | 4; + HEAP32[(35904)>>2] = $639; + $$3229$i = (-1);$$3235$i = $$2234253237$i; } - } - $687 = HEAP32[(33160)>>2]|0; - $688 = ($$749$i>>>0)<($687>>>0); - if ($688) { - HEAP32[(33160)>>2] = $$749$i; - $752 = $$749$i; + (___pthread_mutex_unlock(35432)|0); + $$4230$i = $$3229$i;$$4236$i = $$3235$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; + $$4230$i = (-1);$$4236$i = 0; + } + $640 = ($$4230$i|0)==((-1)|0); + $641 = ($567>>>0)<(2147483647); + $or$cond9$i = $641 & $640; + if ($or$cond9$i) { + (___pthread_mutex_lock(35432)|0); + $642 = (_sbrk(($567|0))|0); + $643 = (_sbrk(0)|0); + (___pthread_mutex_unlock(35432)|0); + $644 = ($642|0)!=((-1)|0); + $645 = ($643|0)!=((-1)|0); + $or$cond5$i = $644 & $645; + $646 = ($642>>>0)<($643>>>0); + $or$cond11$i = $646 & $or$cond5$i; + $647 = $643; + $648 = $642; + $649 = (($647) - ($648))|0; + $650 = (($$0198) + 40)|0; + $651 = ($649>>>0)>($650>>>0); + $$$4236$i = $651 ? $649 : $$4236$i; + $$$4230$i = $651 ? $642 : (-1); + if ($or$cond11$i) { + $$7$i = $$$4230$i;$$7239$i = $$$4236$i; + label = 194; } - } - 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); + } else { + $$7$i = $$4230$i;$$7239$i = $$4236$i; + label = 194; + } + if ((label|0) == 194) { + $652 = ($$7$i|0)==((-1)|0); + if (!($652)) { + $653 = HEAP32[(35892)>>2]|0; + $654 = (($653) + ($$7239$i))|0; + HEAP32[(35892)>>2] = $654; + $655 = HEAP32[(35896)>>2]|0; + $656 = ($654>>>0)>($655>>>0); + if ($656) { + HEAP32[(35896)>>2] = $654; + } + $657 = HEAP32[(35484)>>2]|0; + $658 = ($657|0)==(0|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; + if ($658) { + $659 = HEAP32[(35476)>>2]|0; + $660 = ($659|0)==(0|0); + $661 = ($$7$i>>>0)<($659>>>0); + $or$cond12$i = $660 | $661; + if ($or$cond12$i) { + HEAP32[(35476)>>2] = $$7$i; + } + HEAP32[(35936)>>2] = $$7$i; + HEAP32[(35940)>>2] = $$7239$i; + HEAP32[(35948)>>2] = 0; + $662 = HEAP32[8852]|0; + HEAP32[(35496)>>2] = $662; + HEAP32[(35492)>>2] = -1; + $$01$i$i = 0; + while(1) { + $663 = $$01$i$i << 1; + $664 = (35500 + ($663<<2)|0); + $665 = ((($664)) + 12|0); + HEAP32[$665>>2] = $664; + $666 = ((($664)) + 8|0); + HEAP32[$666>>2] = $664; + $667 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($667|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $667; + } + } + $668 = (($$7239$i) + -40)|0; + $669 = ((($$7$i)) + 8|0); + $670 = $669; + $671 = $670 & 7; + $672 = ($671|0)==(0); + $673 = (0 - ($670))|0; + $674 = $673 & 7; + $675 = $672 ? 0 : $674; + $676 = (($$7$i) + ($675)|0); + $677 = (($668) - ($675))|0; + HEAP32[(35484)>>2] = $676; + HEAP32[(35472)>>2] = $677; + $678 = $677 | 1; + $679 = ((($676)) + 4|0); + HEAP32[$679>>2] = $678; + $680 = (($676) + ($677)|0); + $681 = ((($680)) + 4|0); + HEAP32[$681>>2] = 40; + $682 = HEAP32[(35424)>>2]|0; + HEAP32[(35488)>>2] = $682; } 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; + $$024363$i = (35936); + while(1) { + $683 = HEAP32[$$024363$i>>2]|0; + $684 = ((($$024363$i)) + 4|0); + $685 = HEAP32[$684>>2]|0; + $686 = (($683) + ($685)|0); + $687 = ($$7$i|0)==($686|0); + if ($687) { + label = 205; + break; + } + $688 = ((($$024363$i)) + 8|0); + $689 = HEAP32[$688>>2]|0; + $690 = ($689|0)==(0|0); + if ($690) { + break; + } else { + $$024363$i = $689; + } } - $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; + if ((label|0) == 205) { + $691 = ((($$024363$i)) + 12|0); + $692 = HEAP32[$691>>2]|0; + $693 = $692 & 8; + $694 = ($693|0)==(0); + if ($694) { + $695 = ($657>>>0)>=($683>>>0); + $696 = ($657>>>0)<($$7$i>>>0); + $or$cond43$i = $696 & $695; + if ($or$cond43$i) { + $697 = (($685) + ($$7239$i))|0; + HEAP32[$684>>2] = $697; + $698 = HEAP32[(35472)>>2]|0; + $699 = ((($657)) + 8|0); + $700 = $699; + $701 = $700 & 7; + $702 = ($701|0)==(0); + $703 = (0 - ($700))|0; + $704 = $703 & 7; + $705 = $702 ? 0 : $704; + $706 = (($657) + ($705)|0); + $707 = (($$7239$i) - ($705))|0; + $708 = (($698) + ($707))|0; + HEAP32[(35484)>>2] = $706; + HEAP32[(35472)>>2] = $708; + $709 = $708 | 1; + $710 = ((($706)) + 4|0); + HEAP32[$710>>2] = $709; + $711 = (($706) + ($708)|0); + $712 = ((($711)) + 4|0); + HEAP32[$712>>2] = 40; + $713 = HEAP32[(35424)>>2]|0; + HEAP32[(35488)>>2] = $713; + break; + } + } + } + $714 = HEAP32[(35476)>>2]|0; + $715 = ($$7$i>>>0)<($714>>>0); + if ($715) { + HEAP32[(35476)>>2] = $$7$i; + $779 = $$7$i; + } else { + $779 = $714; + } + $716 = (($$7$i) + ($$7239$i)|0); + $$124462$i = (35936); + while(1) { + $717 = HEAP32[$$124462$i>>2]|0; + $718 = ($717|0)==($716|0); + if ($718) { + label = 213; + break; + } + $719 = ((($$124462$i)) + 8|0); + $720 = HEAP32[$719>>2]|0; + $721 = ($720|0)==(0|0); + if ($721) { + break; + } else { + $$124462$i = $720; + } + } + if ((label|0) == 213) { + $722 = ((($$124462$i)) + 12|0); + $723 = HEAP32[$722>>2]|0; + $724 = $723 & 8; + $725 = ($724|0)==(0); + if ($725) { + HEAP32[$$124462$i>>2] = $$7$i; + $726 = ((($$124462$i)) + 4|0); + $727 = HEAP32[$726>>2]|0; + $728 = (($727) + ($$7239$i))|0; + HEAP32[$726>>2] = $728; + $729 = ((($$7$i)) + 8|0); + $730 = $729; + $731 = $730 & 7; + $732 = ($731|0)==(0); + $733 = (0 - ($730))|0; + $734 = $733 & 7; + $735 = $732 ? 0 : $734; + $736 = (($$7$i) + ($735)|0); + $737 = ((($716)) + 8|0); + $738 = $737; + $739 = $738 & 7; + $740 = ($739|0)==(0); + $741 = (0 - ($738))|0; + $742 = $741 & 7; + $743 = $740 ? 0 : $742; + $744 = (($716) + ($743)|0); + $745 = $744; + $746 = $736; + $747 = (($745) - ($746))|0; + $748 = (($736) + ($$0198)|0); + $749 = (($747) - ($$0198))|0; + $750 = $$0198 | 3; + $751 = ((($736)) + 4|0); + HEAP32[$751>>2] = $750; + $752 = ($744|0)==($657|0); + do { + if ($752) { + $753 = HEAP32[(35472)>>2]|0; + $754 = (($753) + ($749))|0; + HEAP32[(35472)>>2] = $754; + HEAP32[(35484)>>2] = $748; + $755 = $754 | 1; + $756 = ((($748)) + 4|0); + HEAP32[$756>>2] = $755; + } else { + $757 = HEAP32[(35480)>>2]|0; + $758 = ($744|0)==($757|0); + if ($758) { + $759 = HEAP32[(35468)>>2]|0; + $760 = (($759) + ($749))|0; + HEAP32[(35468)>>2] = $760; + HEAP32[(35480)>>2] = $748; + $761 = $760 | 1; + $762 = ((($748)) + 4|0); + HEAP32[$762>>2] = $761; + $763 = (($748) + ($760)|0); + HEAP32[$763>>2] = $760; + break; } - } 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; + $764 = ((($744)) + 4|0); + $765 = HEAP32[$764>>2]|0; + $766 = $765 & 3; + $767 = ($766|0)==(1); + if ($767) { + $768 = $765 & -8; + $769 = $765 >>> 3; + $770 = ($765>>>0)<(256); + L329: do { + if ($770) { + $771 = ((($744)) + 8|0); + $772 = HEAP32[$771>>2]|0; + $773 = ((($744)) + 12|0); + $774 = HEAP32[$773>>2]|0; + $775 = $769 << 1; + $776 = (35500 + ($775<<2)|0); + $777 = ($772|0)==($776|0); + do { + if (!($777)) { + $778 = ($772>>>0)<($779>>>0); + if ($778) { + _abort(); + // unreachable; + } + $780 = ((($772)) + 12|0); + $781 = HEAP32[$780>>2]|0; + $782 = ($781|0)==($744|0); + if ($782) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $783 = ($774|0)==($772|0); + if ($783) { + $784 = 1 << $769; + $785 = $784 ^ -1; + $786 = HEAP32[8865]|0; + $787 = $786 & $785; + HEAP32[8865] = $787; + break; + } + $788 = ($774|0)==($776|0); + do { + if ($788) { + $$pre10$i$i = ((($774)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $789 = ($774>>>0)<($779>>>0); + if ($789) { + _abort(); + // unreachable; + } + $790 = ((($774)) + 8|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==($744|0); + if ($792) { + $$pre$phi11$i$iZ2D = $790; + break; + } + _abort(); + // unreachable; + } + } while(0); + $793 = ((($772)) + 12|0); + HEAP32[$793>>2] = $774; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $772; + } else { + $794 = ((($744)) + 24|0); + $795 = HEAP32[$794>>2]|0; + $796 = ((($744)) + 12|0); + $797 = HEAP32[$796>>2]|0; + $798 = ($797|0)==($744|0); + do { + if ($798) { + $808 = ((($744)) + 16|0); + $809 = ((($808)) + 4|0); + $810 = HEAP32[$809>>2]|0; + $811 = ($810|0)==(0|0); + if ($811) { + $812 = HEAP32[$808>>2]|0; + $813 = ($812|0)==(0|0); + if ($813) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $812;$$1293$i$i = $808; + } + } else { + $$1291$i$i = $810;$$1293$i$i = $809; + } + while(1) { + $814 = ((($$1291$i$i)) + 20|0); + $815 = HEAP32[$814>>2]|0; + $816 = ($815|0)==(0|0); + if (!($816)) { + $$1291$i$i = $815;$$1293$i$i = $814; + continue; + } + $817 = ((($$1291$i$i)) + 16|0); + $818 = HEAP32[$817>>2]|0; + $819 = ($818|0)==(0|0); + if ($819) { + break; + } else { + $$1291$i$i = $818;$$1293$i$i = $817; + } + } + $820 = ($$1293$i$i>>>0)<($779>>>0); + if ($820) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $799 = ((($744)) + 8|0); + $800 = HEAP32[$799>>2]|0; + $801 = ($800>>>0)<($779>>>0); + if ($801) { + _abort(); + // unreachable; + } + $802 = ((($800)) + 12|0); + $803 = HEAP32[$802>>2]|0; + $804 = ($803|0)==($744|0); + if (!($804)) { + _abort(); + // unreachable; + } + $805 = ((($797)) + 8|0); + $806 = HEAP32[$805>>2]|0; + $807 = ($806|0)==($744|0); + if ($807) { + HEAP32[$802>>2] = $797; + HEAP32[$805>>2] = $800; + $$3$i$i = $797; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $821 = ($795|0)==(0|0); + if ($821) { + break; + } + $822 = ((($744)) + 28|0); + $823 = HEAP32[$822>>2]|0; + $824 = (35764 + ($823<<2)|0); + $825 = HEAP32[$824>>2]|0; + $826 = ($744|0)==($825|0); + do { + if ($826) { + HEAP32[$824>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $827 = 1 << $823; + $828 = $827 ^ -1; + $829 = HEAP32[(35464)>>2]|0; + $830 = $829 & $828; + HEAP32[(35464)>>2] = $830; + break L329; + } else { + $831 = HEAP32[(35476)>>2]|0; + $832 = ($795>>>0)<($831>>>0); + if ($832) { + _abort(); + // unreachable; + } else { + $833 = ((($795)) + 16|0); + $834 = HEAP32[$833>>2]|0; + $not$$i$i = ($834|0)!=($744|0); + $$sink1$i$i = $not$$i$i&1; + $835 = (((($795)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$835>>2] = $$3$i$i; + $836 = ($$3$i$i|0)==(0|0); + if ($836) { + break L329; + } else { + break; + } + } + } + } while(0); + $837 = HEAP32[(35476)>>2]|0; + $838 = ($$3$i$i>>>0)<($837>>>0); + if ($838) { + _abort(); + // unreachable; + } + $839 = ((($$3$i$i)) + 24|0); + HEAP32[$839>>2] = $795; + $840 = ((($744)) + 16|0); + $841 = HEAP32[$840>>2]|0; + $842 = ($841|0)==(0|0); + do { + if (!($842)) { + $843 = ($841>>>0)<($837>>>0); + if ($843) { + _abort(); + // unreachable; + } else { + $844 = ((($$3$i$i)) + 16|0); + HEAP32[$844>>2] = $841; + $845 = ((($841)) + 24|0); + HEAP32[$845>>2] = $$3$i$i; + break; + } + } + } while(0); + $846 = ((($840)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = ($847|0)==(0|0); + if ($848) { + break; + } + $849 = HEAP32[(35476)>>2]|0; + $850 = ($847>>>0)<($849>>>0); + if ($850) { + _abort(); + // unreachable; + } else { + $851 = ((($$3$i$i)) + 20|0); + HEAP32[$851>>2] = $847; + $852 = ((($847)) + 24|0); + HEAP32[$852>>2] = $$3$i$i; + break; + } + } + } while(0); + $853 = (($744) + ($768)|0); + $854 = (($768) + ($749))|0; + $$0$i17$i = $853;$$0287$i$i = $854; } 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; + $$0$i17$i = $744;$$0287$i$i = $749; } - } 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; + $855 = ((($$0$i17$i)) + 4|0); + $856 = HEAP32[$855>>2]|0; + $857 = $856 & -2; + HEAP32[$855>>2] = $857; + $858 = $$0287$i$i | 1; + $859 = ((($748)) + 4|0); + HEAP32[$859>>2] = $858; + $860 = (($748) + ($$0287$i$i)|0); + HEAP32[$860>>2] = $$0287$i$i; + $861 = $$0287$i$i >>> 3; + $862 = ($$0287$i$i>>>0)<(256); + if ($862) { + $863 = $861 << 1; + $864 = (35500 + ($863<<2)|0); + $865 = HEAP32[8865]|0; + $866 = 1 << $861; + $867 = $865 & $866; + $868 = ($867|0)==(0); + do { + if ($868) { + $869 = $865 | $866; + HEAP32[8865] = $869; + $$pre$i$i = ((($864)) + 8|0); + $$0295$i$i = $864;$$pre$phi$i$iZ2D = $$pre$i$i; } else { - $$1291$i$i = $785;$$1293$i$i = $781; + $870 = ((($864)) + 8|0); + $871 = HEAP32[$870>>2]|0; + $872 = HEAP32[(35476)>>2]|0; + $873 = ($871>>>0)<($872>>>0); + if (!($873)) { + $$0295$i$i = $871;$$pre$phi$i$iZ2D = $870; + break; + } + _abort(); + // unreachable; } + } while(0); + HEAP32[$$pre$phi$i$iZ2D>>2] = $748; + $874 = ((($$0295$i$i)) + 12|0); + HEAP32[$874>>2] = $748; + $875 = ((($748)) + 8|0); + HEAP32[$875>>2] = $$0295$i$i; + $876 = ((($748)) + 12|0); + HEAP32[$876>>2] = $864; + break; + } + $877 = $$0287$i$i >>> 8; + $878 = ($877|0)==(0); + do { + if ($878) { + $$0296$i$i = 0; } 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) { + $879 = ($$0287$i$i>>>0)>(16777215); + if ($879) { + $$0296$i$i = 31; break; - } else { - $$1291$i$i = $791;$$1293$i$i = $790; } + $880 = (($877) + 1048320)|0; + $881 = $880 >>> 16; + $882 = $881 & 8; + $883 = $877 << $882; + $884 = (($883) + 520192)|0; + $885 = $884 >>> 16; + $886 = $885 & 4; + $887 = $886 | $882; + $888 = $883 << $886; + $889 = (($888) + 245760)|0; + $890 = $889 >>> 16; + $891 = $890 & 2; + $892 = $887 | $891; + $893 = (14 - ($892))|0; + $894 = $888 << $891; + $895 = $894 >>> 15; + $896 = (($893) + ($895))|0; + $897 = $896 << 1; + $898 = (($896) + 7)|0; + $899 = $$0287$i$i >>> $898; + $900 = $899 & 1; + $901 = $900 | $897; + $$0296$i$i = $901; } - $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; + } while(0); + $902 = (35764 + ($$0296$i$i<<2)|0); + $903 = ((($748)) + 28|0); + HEAP32[$903>>2] = $$0296$i$i; + $904 = ((($748)) + 16|0); + $905 = ((($904)) + 4|0); + HEAP32[$905>>2] = 0; + HEAP32[$904>>2] = 0; + $906 = HEAP32[(35464)>>2]|0; + $907 = 1 << $$0296$i$i; + $908 = $906 & $907; + $909 = ($908|0)==(0); + if ($909) { + $910 = $906 | $907; + HEAP32[(35464)>>2] = $910; + HEAP32[$902>>2] = $748; + $911 = ((($748)) + 24|0); + HEAP32[$911>>2] = $902; + $912 = ((($748)) + 12|0); + HEAP32[$912>>2] = $748; + $913 = ((($748)) + 8|0); + HEAP32[$913>>2] = $748; + break; + } + $914 = HEAP32[$902>>2]|0; + $915 = ($$0296$i$i|0)==(31); + $916 = $$0296$i$i >>> 1; + $917 = (25 - ($916))|0; + $918 = $915 ? 0 : $917; + $919 = $$0287$i$i << $918; + $$0288$i$i = $919;$$0289$i$i = $914; + while(1) { + $920 = ((($$0289$i$i)) + 4|0); + $921 = HEAP32[$920>>2]|0; + $922 = $921 & -8; + $923 = ($922|0)==($$0287$i$i|0); + if ($923) { + label = 280; + break; } - $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; + $924 = $$0288$i$i >>> 31; + $925 = (((($$0289$i$i)) + 16|0) + ($924<<2)|0); + $926 = $$0288$i$i << 1; + $927 = HEAP32[$925>>2]|0; + $928 = ($927|0)==(0|0); + if ($928) { + label = 277; break; } else { - _abort(); - // unreachable; + $$0288$i$i = $926;$$0289$i$i = $927; } } - } 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) { + if ((label|0) == 277) { + $929 = HEAP32[(35476)>>2]|0; + $930 = ($925>>>0)<($929>>>0); + if ($930) { _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; - } + HEAP32[$925>>2] = $748; + $931 = ((($748)) + 24|0); + HEAP32[$931>>2] = $$0289$i$i; + $932 = ((($748)) + 12|0); + HEAP32[$932>>2] = $748; + $933 = ((($748)) + 8|0); + HEAP32[$933>>2] = $748; + 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) { + else if ((label|0) == 280) { + $934 = ((($$0289$i$i)) + 8|0); + $935 = HEAP32[$934>>2]|0; + $936 = HEAP32[(35476)>>2]|0; + $937 = ($935>>>0)>=($936>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($936>>>0); + $938 = $937 & $not$7$i$i; + if ($938) { + $939 = ((($935)) + 12|0); + HEAP32[$939>>2] = $748; + HEAP32[$934>>2] = $748; + $940 = ((($748)) + 8|0); + HEAP32[$940>>2] = $935; + $941 = ((($748)) + 12|0); + HEAP32[$941>>2] = $$0289$i$i; + $942 = ((($748)) + 24|0); + HEAP32[$942>>2] = 0; + break; + } else { _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; + } while(0); + $1074 = ((($736)) + 8|0); + $$2 = $1074; + break L230; + } } - $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; + $$0$i$i$i = (35936); + while(1) { + $943 = HEAP32[$$0$i$i$i>>2]|0; + $944 = ($943>>>0)>($657>>>0); + if (!($944)) { + $945 = ((($$0$i$i$i)) + 4|0); + $946 = HEAP32[$945>>2]|0; + $947 = (($943) + ($946)|0); + $948 = ($947>>>0)>($657>>>0); + if ($948) { 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; + $949 = ((($$0$i$i$i)) + 8|0); + $950 = HEAP32[$949>>2]|0; + $$0$i$i$i = $950; } - $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; + $951 = ((($947)) + -47|0); + $952 = ((($951)) + 8|0); + $953 = $952; + $954 = $953 & 7; + $955 = ($954|0)==(0); + $956 = (0 - ($953))|0; + $957 = $956 & 7; + $958 = $955 ? 0 : $957; + $959 = (($951) + ($958)|0); + $960 = ((($657)) + 16|0); + $961 = ($959>>>0)<($960>>>0); + $962 = $961 ? $657 : $959; + $963 = ((($962)) + 8|0); + $964 = ((($962)) + 24|0); + $965 = (($$7239$i) + -40)|0; + $966 = ((($$7$i)) + 8|0); + $967 = $966; + $968 = $967 & 7; + $969 = ($968|0)==(0); + $970 = (0 - ($967))|0; + $971 = $970 & 7; + $972 = $969 ? 0 : $971; + $973 = (($$7$i) + ($972)|0); + $974 = (($965) - ($972))|0; + HEAP32[(35484)>>2] = $973; + HEAP32[(35472)>>2] = $974; + $975 = $974 | 1; + $976 = ((($973)) + 4|0); + HEAP32[$976>>2] = $975; + $977 = (($973) + ($974)|0); + $978 = ((($977)) + 4|0); + HEAP32[$978>>2] = 40; + $979 = HEAP32[(35424)>>2]|0; + HEAP32[(35488)>>2] = $979; + $980 = ((($962)) + 4|0); + HEAP32[$980>>2] = 27; + ;HEAP32[$963>>2]=HEAP32[(35936)>>2]|0;HEAP32[$963+4>>2]=HEAP32[(35936)+4>>2]|0;HEAP32[$963+8>>2]=HEAP32[(35936)+8>>2]|0;HEAP32[$963+12>>2]=HEAP32[(35936)+12>>2]|0; + HEAP32[(35936)>>2] = $$7$i; + HEAP32[(35940)>>2] = $$7239$i; + HEAP32[(35948)>>2] = 0; + HEAP32[(35944)>>2] = $963; + $982 = $964; 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; + $981 = ((($982)) + 4|0); + HEAP32[$981>>2] = 7; + $983 = ((($982)) + 8|0); + $984 = ($983>>>0)<($947>>>0); + if ($984) { + $982 = $981; } else { - $$0288$i$i = $899;$$0289$i$i = $900; + break; } } - 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; + $985 = ($962|0)==($657|0); + if (!($985)) { + $986 = $962; + $987 = $657; + $988 = (($986) - ($987))|0; + $989 = HEAP32[$980>>2]|0; + $990 = $989 & -2; + HEAP32[$980>>2] = $990; + $991 = $988 | 1; + $992 = ((($657)) + 4|0); + HEAP32[$992>>2] = $991; + HEAP32[$962>>2] = $988; + $993 = $988 >>> 3; + $994 = ($988>>>0)<(256); + if ($994) { + $995 = $993 << 1; + $996 = (35500 + ($995<<2)|0); + $997 = HEAP32[8865]|0; + $998 = 1 << $993; + $999 = $997 & $998; + $1000 = ($999|0)==(0); + do { + if ($1000) { + $1001 = $997 | $998; + HEAP32[8865] = $1001; + $$pre$i18$i = ((($996)) + 8|0); + $$0211$i$i = $996;$$pre$phi$i19$iZ2D = $$pre$i18$i; + } else { + $1002 = ((($996)) + 8|0); + $1003 = HEAP32[$1002>>2]|0; + $1004 = HEAP32[(35476)>>2]|0; + $1005 = ($1003>>>0)<($1004>>>0); + if (!($1005)) { + $$0211$i$i = $1003;$$pre$phi$i19$iZ2D = $1002; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i19$iZ2D>>2] = $657; + $1006 = ((($$0211$i$i)) + 12|0); + HEAP32[$1006>>2] = $657; + $1007 = ((($657)) + 8|0); + HEAP32[$1007>>2] = $$0211$i$i; + $1008 = ((($657)) + 12|0); + HEAP32[$1008>>2] = $996; 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; + $1009 = $988 >>> 8; + $1010 = ($1009|0)==(0); + do { + if ($1010) { + $$0212$i$i = 0; + } else { + $1011 = ($988>>>0)>(16777215); + if ($1011) { + $$0212$i$i = 31; + break; + } + $1012 = (($1009) + 1048320)|0; + $1013 = $1012 >>> 16; + $1014 = $1013 & 8; + $1015 = $1009 << $1014; + $1016 = (($1015) + 520192)|0; + $1017 = $1016 >>> 16; + $1018 = $1017 & 4; + $1019 = $1018 | $1014; + $1020 = $1015 << $1018; + $1021 = (($1020) + 245760)|0; + $1022 = $1021 >>> 16; + $1023 = $1022 & 2; + $1024 = $1019 | $1023; + $1025 = (14 - ($1024))|0; + $1026 = $1020 << $1023; + $1027 = $1026 >>> 15; + $1028 = (($1025) + ($1027))|0; + $1029 = $1028 << 1; + $1030 = (($1028) + 7)|0; + $1031 = $988 >>> $1030; + $1032 = $1031 & 1; + $1033 = $1032 | $1029; + $$0212$i$i = $1033; + } + } while(0); + $1034 = (35764 + ($$0212$i$i<<2)|0); + $1035 = ((($657)) + 28|0); + HEAP32[$1035>>2] = $$0212$i$i; + $1036 = ((($657)) + 20|0); + HEAP32[$1036>>2] = 0; + HEAP32[$960>>2] = 0; + $1037 = HEAP32[(35464)>>2]|0; + $1038 = 1 << $$0212$i$i; + $1039 = $1037 & $1038; + $1040 = ($1039|0)==(0); + if ($1040) { + $1041 = $1037 | $1038; + HEAP32[(35464)>>2] = $1041; + HEAP32[$1034>>2] = $657; + $1042 = ((($657)) + 24|0); + HEAP32[$1042>>2] = $1034; + $1043 = ((($657)) + 12|0); + HEAP32[$1043>>2] = $657; + $1044 = ((($657)) + 8|0); + HEAP32[$1044>>2] = $657; 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; + $1045 = HEAP32[$1034>>2]|0; + $1046 = ($$0212$i$i|0)==(31); + $1047 = $$0212$i$i >>> 1; + $1048 = (25 - ($1047))|0; + $1049 = $1046 ? 0 : $1048; + $1050 = $988 << $1049; + $$0206$i$i = $1050;$$0207$i$i = $1045; + while(1) { + $1051 = ((($$0207$i$i)) + 4|0); + $1052 = HEAP32[$1051>>2]|0; + $1053 = $1052 & -8; + $1054 = ($1053|0)==($988|0); + if ($1054) { + label = 307; + break; + } + $1055 = $$0206$i$i >>> 31; + $1056 = (((($$0207$i$i)) + 16|0) + ($1055<<2)|0); + $1057 = $$0206$i$i << 1; + $1058 = HEAP32[$1056>>2]|0; + $1059 = ($1058|0)==(0|0); + if ($1059) { + label = 304; + break; + } else { + $$0206$i$i = $1057;$$0207$i$i = $1058; + } + } + if ((label|0) == 304) { + $1060 = HEAP32[(35476)>>2]|0; + $1061 = ($1056>>>0)<($1060>>>0); + if ($1061) { + _abort(); + // unreachable; + } else { + HEAP32[$1056>>2] = $657; + $1062 = ((($657)) + 24|0); + HEAP32[$1062>>2] = $$0207$i$i; + $1063 = ((($657)) + 12|0); + HEAP32[$1063>>2] = $657; + $1064 = ((($657)) + 8|0); + HEAP32[$1064>>2] = $657; + break; + } + } + else if ((label|0) == 307) { + $1065 = ((($$0207$i$i)) + 8|0); + $1066 = HEAP32[$1065>>2]|0; + $1067 = HEAP32[(35476)>>2]|0; + $1068 = ($1066>>>0)>=($1067>>>0); + $not$$i21$i = ($$0207$i$i>>>0)>=($1067>>>0); + $1069 = $1068 & $not$$i21$i; + if ($1069) { + $1070 = ((($1066)) + 12|0); + HEAP32[$1070>>2] = $657; + HEAP32[$1065>>2] = $657; + $1071 = ((($657)) + 8|0); + HEAP32[$1071>>2] = $1066; + $1072 = ((($657)) + 12|0); + HEAP32[$1072>>2] = $$0207$i$i; + $1073 = ((($657)) + 24|0); + HEAP32[$1073>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1075 = HEAP32[(35472)>>2]|0; + $1076 = ($1075>>>0)>($$0198>>>0); + if ($1076) { + $1077 = (($1075) - ($$0198))|0; + HEAP32[(35472)>>2] = $1077; + $1078 = HEAP32[(35484)>>2]|0; + $1079 = (($1078) + ($$0198)|0); + HEAP32[(35484)>>2] = $1079; + $1080 = $1077 | 1; + $1081 = ((($1079)) + 4|0); + HEAP32[$1081>>2] = $1080; + $1082 = $$0198 | 3; + $1083 = ((($1078)) + 4|0); + HEAP32[$1083>>2] = $1082; + $1084 = ((($1078)) + 8|0); + $$2 = $1084; 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; - } } + $1085 = (___errno_location()|0); + HEAP32[$1085>>2] = 12; + $$2 = 0; + } else { + $$2 = 0; } - } else { - $$1 = $2;$$1382 = $9;$113 = $2; } } while(0); - $112 = ($113>>>0)<($10>>>0); - if (!($112)) { + $1086 = HEAP32[(35904)>>2]|0; + $1087 = $1086 & 2; + $1088 = ($1087|0)==(0); + if ($1088) { + $$1 = $$2; + STACKTOP = sp;return ($$1|0); + } + (___pthread_mutex_unlock((35908))|0); + $$1 = $$2; + STACKTOP = sp;return ($$1|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, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 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, $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[(35904)>>2]|0; + $4 = $3 & 2; + $5 = ($4|0)==(0); + if (!($5)) { + $6 = (___pthread_mutex_lock((35908))|0); + $7 = ($6|0)==(0); + if (!($7)) { + return; + } + } + $8 = HEAP32[(35476)>>2]|0; + $9 = ($2>>>0)<($8>>>0); + if ($9) { _abort(); // unreachable; } - $114 = ((($10)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 & 1; - $117 = ($116|0)==(0); - if ($117) { + $10 = ((($0)) + -4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 3; + $13 = ($12|0)==(1); + if ($13) { _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; - } + $14 = $11 & -8; + $15 = (($2) + ($14)|0); + $16 = $11 & 1; + $17 = ($16|0)==(0); + L14: do { + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = ($12|0)==(0); + if (!($19)) { + $20 = (0 - ($18))|0; + $21 = (($2) + ($20)|0); + $22 = (($18) + ($14))|0; + $23 = ($21>>>0)<($8>>>0); + if ($23) { + _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; + $24 = HEAP32[(35480)>>2]|0; + $25 = ($21|0)==($24|0); + if ($25) { + $109 = ((($15)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = $110 & 3; + $112 = ($111|0)==(3); + if (!($112)) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $113 = (($21) + ($22)|0); + $114 = ((($21)) + 4|0); + $115 = $22 | 1; + $116 = $110 & -2; + HEAP32[(35468)>>2] = $22; + HEAP32[$109>>2] = $116; + HEAP32[$114>>2] = $115; + HEAP32[$113>>2] = $22; 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; + $26 = $18 >>> 3; + $27 = ($18>>>0)<(256); + if ($27) { + $28 = ((($21)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($21)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = $26 << 1; + $33 = (35500 + ($32<<2)|0); + $34 = ($29|0)==($33|0); + if (!($34)) { + $35 = ($29>>>0)<($8>>>0); + if ($35) { + _abort(); + // unreachable; + } + $36 = ((($29)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==($21|0); + if (!($38)) { + _abort(); + // unreachable; + } } - $158 = ((($141)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==($10|0); - if ($160) { - $$pre$phi443Z2D = $158; + $39 = ($31|0)==($29|0); + if ($39) { + $40 = 1 << $26; + $41 = $40 ^ -1; + $42 = HEAP32[8865]|0; + $43 = $42 & $41; + HEAP32[8865] = $43; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $44 = ($31|0)==($33|0); + if ($44) { + $$pre444 = ((($31)) + 8|0); + $$pre$phi445Z2D = $$pre444; } else { - _abort(); - // unreachable; + $45 = ($31>>>0)<($8>>>0); + if ($45) { + _abort(); + // unreachable; + } + $46 = ((($31)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==($21|0); + if ($48) { + $$pre$phi445Z2D = $46; + } else { + _abort(); + // unreachable; + } } + $49 = ((($29)) + 12|0); + HEAP32[$49>>2] = $31; + HEAP32[$$pre$phi445Z2D>>2] = $29; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; } - $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); + $50 = ((($21)) + 24|0); + $51 = HEAP32[$50>>2]|0; + $52 = ((($21)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($21|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; + if ($54) { + $64 = ((($21)) + 16|0); + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if ($67) { + $68 = HEAP32[$64>>2]|0; + $69 = ($68|0)==(0|0); + if ($69) { + $$3 = 0; break; } else { - $$1398 = $181;$$1402 = $177; + $$1387 = $68;$$1390 = $64; } } else { - $$1398 = $179;$$1402 = $178; + $$1387 = $66;$$1390 = $65; } while(1) { - $183 = ((($$1398)) + 20|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)==(0|0); - if (!($185)) { - $$1398 = $184;$$1402 = $183; + $70 = ((($$1387)) + 20|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)==(0|0); + if (!($72)) { + $$1387 = $71;$$1390 = $70; continue; } - $186 = ((($$1398)) + 16|0); - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { + $73 = ((($$1387)) + 16|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)==(0|0); + if ($75) { break; } else { - $$1398 = $187;$$1402 = $186; + $$1387 = $74;$$1390 = $73; } } - $189 = HEAP32[(33160)>>2]|0; - $190 = ($$1402>>>0)<($189>>>0); - if ($190) { + $76 = ($$1390>>>0)<($8>>>0); + if ($76) { _abort(); // unreachable; } else { - HEAP32[$$1402>>2] = 0; - $$3400 = $$1398; + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; break; } } else { - $167 = ((($10)) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(33160)>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { + $55 = ((($21)) + 8|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($56>>>0)<($8>>>0); + if ($57) { _abort(); // unreachable; } - $171 = ((($168)) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)==($10|0); - if (!($173)) { + $58 = ((($56)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)==($21|0); + if (!($60)) { _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; + $61 = ((($53)) + 8|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==($21|0); + if ($63) { + HEAP32[$58>>2] = $53; + HEAP32[$61>>2] = $56; + $$3 = $53; break; } else { _abort(); @@ -26716,298 +32774,600 @@ function _free($0) { } } } 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); + $77 = ($51|0)==(0|0); + if ($77) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $78 = ((($21)) + 28|0); + $79 = HEAP32[$78>>2]|0; + $80 = (35764 + ($79<<2)|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($21|0)==($81|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; + if ($82) { + HEAP32[$80>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $83 = 1 << $79; + $84 = $83 ^ -1; + $85 = HEAP32[(35464)>>2]|0; + $86 = $85 & $84; + HEAP32[(35464)>>2] = $86; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; } } else { - $201 = HEAP32[(33160)>>2]|0; - $202 = ($163>>>0)<($201>>>0); - if ($202) { + $87 = HEAP32[(35476)>>2]|0; + $88 = ($51>>>0)<($87>>>0); + if ($88) { _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; + $89 = ((($51)) + 16|0); + $90 = HEAP32[$89>>2]|0; + $not$405 = ($90|0)!=($21|0); + $$sink3 = $not$405&1; + $91 = (((($51)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$91>>2] = $$3; + $92 = ($$3|0)==(0|0); + if ($92) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; } else { break; } } } } while(0); - $207 = HEAP32[(33160)>>2]|0; - $208 = ($$3400>>>0)<($207>>>0); - if ($208) { + $93 = HEAP32[(35476)>>2]|0; + $94 = ($$3>>>0)<($93>>>0); + if ($94) { _abort(); // unreachable; } - $209 = ((($$3400)) + 24|0); - HEAP32[$209>>2] = $163; - $210 = ((($10)) + 16|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); + $95 = ((($$3)) + 24|0); + HEAP32[$95>>2] = $51; + $96 = ((($21)) + 16|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)==(0|0); do { - if (!($212)) { - $213 = ($211>>>0)<($207>>>0); - if ($213) { + if (!($98)) { + $99 = ($97>>>0)<($93>>>0); + if ($99) { _abort(); // unreachable; } else { - $214 = ((($$3400)) + 16|0); - HEAP32[$214>>2] = $211; - $215 = ((($211)) + 24|0); - HEAP32[$215>>2] = $$3400; + $100 = ((($$3)) + 16|0); + HEAP32[$100>>2] = $97; + $101 = ((($97)) + 24|0); + HEAP32[$101>>2] = $$3; 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) { + $102 = ((($96)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)==(0|0); + if ($104) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $105 = HEAP32[(35476)>>2]|0; + $106 = ($103>>>0)<($105>>>0); + if ($106) { _abort(); // unreachable; } else { - $221 = ((($$3400)) + 20|0); - HEAP32[$221>>2] = $217; - $222 = ((($217)) + 24|0); - HEAP32[$222>>2] = $$3400; + $107 = ((($$3)) + 20|0); + HEAP32[$107>>2] = $103; + $108 = ((($103)) + 24|0); + HEAP32[$108>>2] = $$3; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; 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; + $$1 = $2;$$1382 = $14;$118 = $2; + label = 55; } - } 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) { + } while(0); + do { + if ((label|0) == 55) { + $117 = ($118>>>0)<($15>>>0); + if (!($117)) { _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; + $119 = ((($15)) + 4|0); + $120 = HEAP32[$119>>2]|0; + $121 = $120 & 1; + $122 = ($121|0)==(0); + if ($122) { + _abort(); + // unreachable; + } + $123 = $120 & 2; + $124 = ($123|0)==(0); + if ($124) { + $125 = HEAP32[(35484)>>2]|0; + $126 = ($15|0)==($125|0); + $127 = HEAP32[(35480)>>2]|0; + if ($126) { + $128 = HEAP32[(35472)>>2]|0; + $129 = (($128) + ($$1382))|0; + HEAP32[(35472)>>2] = $129; + HEAP32[(35484)>>2] = $$1; + $130 = $129 | 1; + $131 = ((($$1)) + 4|0); + HEAP32[$131>>2] = $130; + $132 = ($$1|0)==($127|0); + if (!($132)) { + break; + } + HEAP32[(35480)>>2] = 0; + HEAP32[(35468)>>2] = 0; 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; + $133 = ($15|0)==($127|0); + if ($133) { + $134 = HEAP32[(35468)>>2]|0; + $135 = (($134) + ($$1382))|0; + HEAP32[(35468)>>2] = $135; + HEAP32[(35480)>>2] = $118; + $136 = $135 | 1; + $137 = ((($$1)) + 4|0); + HEAP32[$137>>2] = $136; + $138 = (($118) + ($135)|0); + HEAP32[$138>>2] = $135; + break; + } + $139 = $120 & -8; + $140 = (($139) + ($$1382))|0; + $141 = $120 >>> 3; + $142 = ($120>>>0)<(256); + L106: do { + if ($142) { + $143 = ((($15)) + 8|0); + $144 = HEAP32[$143>>2]|0; + $145 = ((($15)) + 12|0); + $146 = HEAP32[$145>>2]|0; + $147 = $141 << 1; + $148 = (35500 + ($147<<2)|0); + $149 = ($144|0)==($148|0); + if (!($149)) { + $150 = HEAP32[(35476)>>2]|0; + $151 = ($144>>>0)<($150>>>0); + if ($151) { + _abort(); + // unreachable; + } + $152 = ((($144)) + 12|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==($15|0); + if (!($154)) { + _abort(); + // unreachable; + } + } + $155 = ($146|0)==($144|0); + if ($155) { + $156 = 1 << $141; + $157 = $156 ^ -1; + $158 = HEAP32[8865]|0; + $159 = $158 & $157; + HEAP32[8865] = $159; + break; + } + $160 = ($146|0)==($148|0); + if ($160) { + $$pre442 = ((($146)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $161 = HEAP32[(35476)>>2]|0; + $162 = ($146>>>0)<($161>>>0); + if ($162) { + _abort(); + // unreachable; + } + $163 = ((($146)) + 8|0); + $164 = HEAP32[$163>>2]|0; + $165 = ($164|0)==($15|0); + if ($165) { + $$pre$phi443Z2D = $163; + } else { + _abort(); + // unreachable; + } + } + $166 = ((($144)) + 12|0); + HEAP32[$166>>2] = $146; + HEAP32[$$pre$phi443Z2D>>2] = $144; + } else { + $167 = ((($15)) + 24|0); + $168 = HEAP32[$167>>2]|0; + $169 = ((($15)) + 12|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==($15|0); + do { + if ($171) { + $182 = ((($15)) + 16|0); + $183 = ((($182)) + 4|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if ($185) { + $186 = HEAP32[$182>>2]|0; + $187 = ($186|0)==(0|0); + if ($187) { + $$3400 = 0; + break; + } else { + $$1398 = $186;$$1402 = $182; + } + } else { + $$1398 = $184;$$1402 = $183; + } + while(1) { + $188 = ((($$1398)) + 20|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($189|0)==(0|0); + if (!($190)) { + $$1398 = $189;$$1402 = $188; + continue; + } + $191 = ((($$1398)) + 16|0); + $192 = HEAP32[$191>>2]|0; + $193 = ($192|0)==(0|0); + if ($193) { + break; + } else { + $$1398 = $192;$$1402 = $191; + } + } + $194 = HEAP32[(35476)>>2]|0; + $195 = ($$1402>>>0)<($194>>>0); + if ($195) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $172 = ((($15)) + 8|0); + $173 = HEAP32[$172>>2]|0; + $174 = HEAP32[(35476)>>2]|0; + $175 = ($173>>>0)<($174>>>0); + if ($175) { + _abort(); + // unreachable; + } + $176 = ((($173)) + 12|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==($15|0); + if (!($178)) { + _abort(); + // unreachable; + } + $179 = ((($170)) + 8|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==($15|0); + if ($181) { + HEAP32[$176>>2] = $170; + HEAP32[$179>>2] = $173; + $$3400 = $170; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $196 = ($168|0)==(0|0); + if (!($196)) { + $197 = ((($15)) + 28|0); + $198 = HEAP32[$197>>2]|0; + $199 = (35764 + ($198<<2)|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($15|0)==($200|0); + do { + if ($201) { + HEAP32[$199>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $202 = 1 << $198; + $203 = $202 ^ -1; + $204 = HEAP32[(35464)>>2]|0; + $205 = $204 & $203; + HEAP32[(35464)>>2] = $205; + break L106; + } + } else { + $206 = HEAP32[(35476)>>2]|0; + $207 = ($168>>>0)<($206>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($168)) + 16|0); + $209 = HEAP32[$208>>2]|0; + $not$ = ($209|0)!=($15|0); + $$sink5 = $not$&1; + $210 = (((($168)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$210>>2] = $$3400; + $211 = ($$3400|0)==(0|0); + if ($211) { + break L106; + } else { + break; + } + } + } + } while(0); + $212 = HEAP32[(35476)>>2]|0; + $213 = ($$3400>>>0)<($212>>>0); + if ($213) { + _abort(); + // unreachable; + } + $214 = ((($$3400)) + 24|0); + HEAP32[$214>>2] = $168; + $215 = ((($15)) + 16|0); + $216 = HEAP32[$215>>2]|0; + $217 = ($216|0)==(0|0); + do { + if (!($217)) { + $218 = ($216>>>0)<($212>>>0); + if ($218) { + _abort(); + // unreachable; + } else { + $219 = ((($$3400)) + 16|0); + HEAP32[$219>>2] = $216; + $220 = ((($216)) + 24|0); + HEAP32[$220>>2] = $$3400; + break; + } + } + } while(0); + $221 = ((($215)) + 4|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); + if (!($223)) { + $224 = HEAP32[(35476)>>2]|0; + $225 = ($222>>>0)<($224>>>0); + if ($225) { + _abort(); + // unreachable; + } else { + $226 = ((($$3400)) + 20|0); + HEAP32[$226>>2] = $222; + $227 = ((($222)) + 24|0); + HEAP32[$227>>2] = $$3400; + break; + } + } + } + } + } while(0); + $228 = $140 | 1; + $229 = ((($$1)) + 4|0); + HEAP32[$229>>2] = $228; + $230 = (($118) + ($140)|0); + HEAP32[$230>>2] = $140; + $231 = HEAP32[(35480)>>2]|0; + $232 = ($$1|0)==($231|0); + if ($232) { + HEAP32[(35468)>>2] = $140; break; } else { - $$0383 = $297;$$0384 = $298; + $$2 = $140; + } + } else { + $233 = $120 & -2; + HEAP32[$119>>2] = $233; + $234 = $$1382 | 1; + $235 = ((($$1)) + 4|0); + HEAP32[$235>>2] = $234; + $236 = (($118) + ($$1382)|0); + HEAP32[$236>>2] = $$1382; + $$2 = $$1382; + } + $237 = $$2 >>> 3; + $238 = ($$2>>>0)<(256); + if ($238) { + $239 = $237 << 1; + $240 = (35500 + ($239<<2)|0); + $241 = HEAP32[8865]|0; + $242 = 1 << $237; + $243 = $241 & $242; + $244 = ($243|0)==(0); + if ($244) { + $245 = $241 | $242; + HEAP32[8865] = $245; + $$pre = ((($240)) + 8|0); + $$0403 = $240;$$pre$phiZ2D = $$pre; + } else { + $246 = ((($240)) + 8|0); + $247 = HEAP32[$246>>2]|0; + $248 = HEAP32[(35476)>>2]|0; + $249 = ($247>>>0)<($248>>>0); + if ($249) { + _abort(); + // unreachable; + } else { + $$0403 = $247;$$pre$phiZ2D = $246; + } } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $250 = ((($$0403)) + 12|0); + HEAP32[$250>>2] = $$1; + $251 = ((($$1)) + 8|0); + HEAP32[$251>>2] = $$0403; + $252 = ((($$1)) + 12|0); + HEAP32[$252>>2] = $240; + break; } - if ((label|0) == 121) { - $300 = HEAP32[(33160)>>2]|0; - $301 = ($296>>>0)<($300>>>0); - if ($301) { - _abort(); - // unreachable; + $253 = $$2 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0396 = 0; + } else { + $255 = ($$2>>>0)>(16777215); + if ($255) { + $$0396 = 31; } 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; + $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 = $$2 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0396 = $277; + } + } + $278 = (35764 + ($$0396<<2)|0); + $279 = ((($$1)) + 28|0); + HEAP32[$279>>2] = $$0396; + $280 = ((($$1)) + 16|0); + $281 = ((($$1)) + 20|0); + HEAP32[$281>>2] = 0; + HEAP32[$280>>2] = 0; + $282 = HEAP32[(35464)>>2]|0; + $283 = 1 << $$0396; + $284 = $282 & $283; + $285 = ($284|0)==(0); + do { + if ($285) { + $286 = $282 | $283; + HEAP32[(35464)>>2] = $286; + HEAP32[$278>>2] = $$1; + $287 = ((($$1)) + 24|0); + HEAP32[$287>>2] = $278; + $288 = ((($$1)) + 12|0); + HEAP32[$288>>2] = $$1; + $289 = ((($$1)) + 8|0); + HEAP32[$289>>2] = $$1; + } else { + $290 = HEAP32[$278>>2]|0; + $291 = ($$0396|0)==(31); + $292 = $$0396 >>> 1; + $293 = (25 - ($292))|0; + $294 = $291 ? 0 : $293; + $295 = $$2 << $294; + $$0383 = $295;$$0384 = $290; + while(1) { + $296 = ((($$0384)) + 4|0); + $297 = HEAP32[$296>>2]|0; + $298 = $297 & -8; + $299 = ($298|0)==($$2|0); + if ($299) { + label = 126; + break; + } + $300 = $$0383 >>> 31; + $301 = (((($$0384)) + 16|0) + ($300<<2)|0); + $302 = $$0383 << 1; + $303 = HEAP32[$301>>2]|0; + $304 = ($303|0)==(0|0); + if ($304) { + label = 123; + break; + } else { + $$0383 = $302;$$0384 = $303; + } + } + if ((label|0) == 123) { + $305 = HEAP32[(35476)>>2]|0; + $306 = ($301>>>0)<($305>>>0); + if ($306) { + _abort(); + // unreachable; + } else { + HEAP32[$301>>2] = $$1; + $307 = ((($$1)) + 24|0); + HEAP32[$307>>2] = $$0384; + $308 = ((($$1)) + 12|0); + HEAP32[$308>>2] = $$1; + $309 = ((($$1)) + 8|0); + HEAP32[$309>>2] = $$1; + break; + } + } + else if ((label|0) == 126) { + $310 = ((($$0384)) + 8|0); + $311 = HEAP32[$310>>2]|0; + $312 = HEAP32[(35476)>>2]|0; + $313 = ($311>>>0)>=($312>>>0); + $not$437 = ($$0384>>>0)>=($312>>>0); + $314 = $313 & $not$437; + if ($314) { + $315 = ((($311)) + 12|0); + HEAP32[$315>>2] = $$1; + HEAP32[$310>>2] = $$1; + $316 = ((($$1)) + 8|0); + HEAP32[$316>>2] = $311; + $317 = ((($$1)) + 12|0); + HEAP32[$317>>2] = $$0384; + $318 = ((($$1)) + 24|0); + HEAP32[$318>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } } - } - 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); + $319 = HEAP32[(35492)>>2]|0; + $320 = (($319) + -1)|0; + HEAP32[(35492)>>2] = $320; + $321 = ($320|0)==(0); + if ($321) { + $$0212$in$i = (35944); + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $322 = ($$0212$i|0)==(0|0); + $323 = ((($$0212$i)) + 8|0); + if ($322) { + break; + } else { + $$0212$in$i = $323; + } } + HEAP32[(35492)>>2] = -1; } } } 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 { + $324 = HEAP32[(35904)>>2]|0; + $325 = $324 & 2; + $326 = ($325|0)==(0); + if ($326) { 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; + (___pthread_mutex_unlock((35908))|0); return; } function runPostSets() { @@ -27441,6 +33801,9 @@ function _roundf(f) { f = +f; return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? } +function _emscripten_set_current_thread_status(newStatus) { + newStatus = newStatus|0; +} function _bitshift64Lshr(low, high, bits) { low = low|0; high = high|0; bits = bits|0; var ander = 0; @@ -27452,6 +33815,10 @@ function _bitshift64Lshr(low, high, bits) { tempRet0 = 0; return (high >>> (bits - 32))|0; } +function _emscripten_conditional_set_current_thread_status(expectedStatus, newStatus) { + expectedStatus = expectedStatus|0; + newStatus = newStatus|0; +} function _sbrk(increment) { increment = increment|0; var oldDynamicTop = 0; @@ -27459,25 +33826,24 @@ function _sbrk(increment) { 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; + + // Perform a compare-and-swap loop to update the new dynamic top value. This is because + // this function can becalled simultaneously in multiple threads. + do { + oldDynamicTop = Atomics_load(HEAP32, DYNAMICTOP_PTR>>2)|0; + newDynamicTop = oldDynamicTop + increment | 0; + // Asking to increase dynamic top to a too high value? In pthreads builds we cannot + // enlarge memory, so this needs to fail. + 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. + | (newDynamicTop|0) > (totalMemory|0)) { + abortOnCannotGrowMemory()|0; } - } + // Attempt to update the dynamic top to new value. Another thread may have beat this thread to the update, + // in which case we will need to start over by iterating the loop body again. + oldDynamicTopOnChange = Atomics_compareExchange(HEAP32, DYNAMICTOP_PTR>>2, oldDynamicTop|0, newDynamicTop|0)|0; + } while((oldDynamicTopOnChange|0) != (oldDynamicTop|0)); return oldDynamicTop|0; } function _bitshift64Shl(low, high, bits) { @@ -28265,25 +34631,43 @@ var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glG 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_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 }; + return { _emscripten_sync_run_in_main_thread_3: _emscripten_sync_run_in_main_thread_3, _roundf: _roundf, _bitshift64Shl: _bitshift64Shl, _emscripten_atomic_load_f32: _emscripten_atomic_load_f32, ___uremdi3: ___uremdi3, ___udivdi3: ___udivdi3, _emscripten_atomic_xor_u64: _emscripten_atomic_xor_u64, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _emscripten_atomic_and_u64: _emscripten_atomic_and_u64, _emscripten_sync_run_in_main_thread: _emscripten_sync_run_in_main_thread, _emscripten_sync_run_in_main_thread_4: _emscripten_sync_run_in_main_thread_4, _emscripten_sync_run_in_main_thread_5: _emscripten_sync_run_in_main_thread_5, _emscripten_sync_run_in_main_thread_6: _emscripten_sync_run_in_main_thread_6, _emscripten_sync_run_in_main_thread_7: _emscripten_sync_run_in_main_thread_7, _emscripten_sync_run_in_main_thread_0: _emscripten_sync_run_in_main_thread_0, _emscripten_sync_run_in_main_thread_1: _emscripten_sync_run_in_main_thread_1, _emscripten_sync_run_in_main_thread_2: _emscripten_sync_run_in_main_thread_2, __emscripten_atomic_fetch_and_sub_u64: __emscripten_atomic_fetch_and_sub_u64, _emscripten_atomic_exchange_u32: _emscripten_atomic_exchange_u32, _fflush: _fflush, _emscripten_set_current_thread_status: _emscripten_set_current_thread_status, _emscripten_atomic_cas_u64: _emscripten_atomic_cas_u64, _memset: _memset, _emscripten_atomic_sub_u64: _emscripten_atomic_sub_u64, _emscripten_sync_run_in_main_thread_xprintf_varargs: _emscripten_sync_run_in_main_thread_xprintf_varargs, _i64Subtract: _i64Subtract, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, __emscripten_atomic_fetch_and_and_u64: __emscripten_atomic_fetch_and_and_u64, _emscripten_atomic_add_u64: _emscripten_atomic_add_u64, _emscripten_atomic_store_f64: _emscripten_atomic_store_f64, ___muldsi3: ___muldsi3, __emscripten_atomic_fetch_and_xor_u64: __emscripten_atomic_fetch_and_xor_u64, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_atomic_store_u64: _emscripten_atomic_store_u64, _emscripten_atomic_load_f64: _emscripten_atomic_load_f64, _emscripten_get_global_libc: _emscripten_get_global_libc, __emscripten_atomic_fetch_and_add_u64: __emscripten_atomic_fetch_and_add_u64, __emscripten_atomic_fetch_and_or_u64: __emscripten_atomic_fetch_and_or_u64, _emscripten_GetProcAddress: _emscripten_GetProcAddress, _emscripten_async_run_in_main_thread: _emscripten_async_run_in_main_thread, ___errno_location: ___errno_location, _main: _main, _emscripten_main_thread_process_queued_calls: _emscripten_main_thread_process_queued_calls, _emscripten_atomic_load_u64: _emscripten_atomic_load_u64, _free: _free, _emscripten_atomic_store_f32: _emscripten_atomic_store_f32, _emscripten_atomic_exchange_u64: _emscripten_atomic_exchange_u64, _memmove: _memmove, ___pthread_tsd_run_dtors: ___pthread_tsd_run_dtors, _malloc: _malloc, _memcpy: _memcpy, _emscripten_conditional_set_current_thread_status: _emscripten_conditional_set_current_thread_status, _sbrk: _sbrk, _emscripten_atomic_or_u64: _emscripten_atomic_or_u64, _strstr: _strstr, ___emscripten_pthread_data_constructor: ___emscripten_pthread_data_constructor, 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___emscripten_atomic_fetch_and_xor_u64 = asm["__emscripten_atomic_fetch_and_xor_u64"]; asm["__emscripten_atomic_fetch_and_xor_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_xor_u64.apply(null, arguments); +}; + 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() { +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__main.apply(null, arguments); +return real__bitshift64Shl.apply(null, arguments); +}; + +var real__emscripten_atomic_load_f32 = asm["_emscripten_atomic_load_f32"]; asm["_emscripten_atomic_load_f32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_load_f32.apply(null, arguments); +}; + +var real____emscripten_pthread_data_constructor = asm["___emscripten_pthread_data_constructor"]; asm["___emscripten_pthread_data_constructor"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_pthread_data_constructor.apply(null, arguments); }; var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { @@ -28292,16 +34676,22 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real_stackSave.apply(null, arguments); }; -var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { +var real__emscripten_atomic_xor_u64 = asm["_emscripten_atomic_xor_u64"]; asm["_emscripten_atomic_xor_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_xor_u64.apply(null, arguments); }; -var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { +var real__emscripten_atomic_load_u64 = asm["_emscripten_atomic_load_u64"]; asm["_emscripten_atomic_load_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_load_u64.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__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { @@ -28310,10 +34700,76 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real__bitshift64Lshr.apply(null, arguments); }; -var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { +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__bitshift64Shl.apply(null, arguments); +return real_getTempRet0.apply(null, arguments); +}; + +var real__emscripten_atomic_and_u64 = asm["_emscripten_atomic_and_u64"]; asm["_emscripten_atomic_and_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread = asm["_emscripten_sync_run_in_main_thread"]; asm["_emscripten_sync_run_in_main_thread"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_4 = asm["_emscripten_sync_run_in_main_thread_4"]; asm["_emscripten_sync_run_in_main_thread_4"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_4.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_5 = asm["_emscripten_sync_run_in_main_thread_5"]; asm["_emscripten_sync_run_in_main_thread_5"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_5.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_6 = asm["_emscripten_sync_run_in_main_thread_6"]; asm["_emscripten_sync_run_in_main_thread_6"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_6.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_7 = asm["_emscripten_sync_run_in_main_thread_7"]; asm["_emscripten_sync_run_in_main_thread_7"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_7.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_0 = asm["_emscripten_sync_run_in_main_thread_0"]; asm["_emscripten_sync_run_in_main_thread_0"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_0.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_1 = asm["_emscripten_sync_run_in_main_thread_1"]; asm["_emscripten_sync_run_in_main_thread_1"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_1.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_2 = asm["_emscripten_sync_run_in_main_thread_2"]; asm["_emscripten_sync_run_in_main_thread_2"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_2.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_sub_u64 = asm["__emscripten_atomic_fetch_and_sub_u64"]; asm["__emscripten_atomic_fetch_and_sub_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_sub_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_exchange_u32 = asm["_emscripten_atomic_exchange_u32"]; asm["_emscripten_atomic_exchange_u32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_exchange_u32.apply(null, arguments); }; var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { @@ -28322,22 +34778,46 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real__fflush.apply(null, arguments); }; +var real__emscripten_set_current_thread_status = asm["_emscripten_set_current_thread_status"]; asm["_emscripten_set_current_thread_status"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_set_current_thread_status.apply(null, arguments); +}; + +var real__emscripten_atomic_cas_u64 = asm["_emscripten_atomic_cas_u64"]; asm["_emscripten_atomic_cas_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_cas_u64.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() { +var real__emscripten_atomic_sub_u64 = asm["_emscripten_atomic_sub_u64"]; asm["_emscripten_atomic_sub_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_sub_u64.apply(null, arguments); }; -var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { +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__llvm_bswap_i32.apply(null, arguments); +return real__main.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_xprintf_varargs = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_xprintf_varargs.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____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() { @@ -28346,6 +34826,18 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real____muldi3.apply(null, arguments); }; +var real___emscripten_atomic_fetch_and_and_u64 = asm["__emscripten_atomic_fetch_and_and_u64"]; asm["__emscripten_atomic_fetch_and_and_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_3 = asm["_emscripten_sync_run_in_main_thread_3"]; asm["_emscripten_sync_run_in_main_thread_3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_3.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)'); @@ -28364,12 +34856,6 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a 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)'); @@ -28382,28 +34868,52 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real__i64Add.apply(null, arguments); }; +var real__emscripten_atomic_store_u64 = asm["_emscripten_atomic_store_u64"]; asm["_emscripten_atomic_store_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_store_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_load_f64 = asm["_emscripten_atomic_load_f64"]; asm["_emscripten_atomic_load_f64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_load_f64.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_atomic_fetch_and_add_u64 = asm["__emscripten_atomic_fetch_and_add_u64"]; asm["__emscripten_atomic_fetch_and_add_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_add_u64.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_or_u64 = asm["__emscripten_atomic_fetch_and_or_u64"]; asm["__emscripten_atomic_fetch_and_or_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_or_u64.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() { +var real__emscripten_async_run_in_main_thread = asm["_emscripten_async_run_in_main_thread"]; asm["_emscripten_async_run_in_main_thread"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_async_run_in_main_thread.apply(null, arguments); }; -var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { +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____errno_location.apply(null, arguments); +return real__llvm_bswap_i32.apply(null, arguments); }; var real____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = function() { @@ -28412,28 +34922,52 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real____muldsi3.apply(null, arguments); }; +var real__emscripten_main_thread_process_queued_calls = asm["_emscripten_main_thread_process_queued_calls"]; asm["_emscripten_main_thread_process_queued_calls"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_main_thread_process_queued_calls.apply(null, arguments); +}; + +var real__emscripten_atomic_add_u64 = asm["_emscripten_atomic_add_u64"]; asm["_emscripten_atomic_add_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_add_u64.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() { +var real__emscripten_atomic_store_f32 = asm["_emscripten_atomic_store_f32"]; asm["_emscripten_atomic_store_f32"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_store_f32.apply(null, arguments); }; -var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { +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__memmove.apply(null, arguments); +return real_setThrew.apply(null, arguments); }; -var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { +var real__emscripten_atomic_exchange_u64 = asm["_emscripten_atomic_exchange_u64"]; asm["_emscripten_atomic_exchange_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_exchange_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_store_f64 = asm["_emscripten_atomic_store_f64"]; asm["_emscripten_atomic_store_f64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_store_f64.apply(null, arguments); +}; + +var real____pthread_tsd_run_dtors = asm["___pthread_tsd_run_dtors"]; asm["___pthread_tsd_run_dtors"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____pthread_tsd_run_dtors.apply(null, arguments); }; var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { @@ -28442,43 +34976,120 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real_stackRestore.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__malloc = asm["_malloc"]; asm["_malloc"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); return real__malloc.apply(null, arguments); }; + +var real_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__emscripten_conditional_set_current_thread_status = asm["_emscripten_conditional_set_current_thread_status"]; asm["_emscripten_conditional_set_current_thread_status"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_conditional_set_current_thread_status.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__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__emscripten_atomic_or_u64 = asm["_emscripten_atomic_or_u64"]; asm["_emscripten_atomic_or_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_or_u64.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 __emscripten_atomic_fetch_and_xor_u64 = Module["__emscripten_atomic_fetch_and_xor_u64"] = asm["__emscripten_atomic_fetch_and_xor_u64"]; var _roundf = Module["_roundf"] = asm["_roundf"]; -var _main = Module["_main"] = asm["_main"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _emscripten_atomic_load_f32 = Module["_emscripten_atomic_load_f32"] = asm["_emscripten_atomic_load_f32"]; +var ___emscripten_pthread_data_constructor = Module["___emscripten_pthread_data_constructor"] = asm["___emscripten_pthread_data_constructor"]; 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 _emscripten_atomic_xor_u64 = Module["_emscripten_atomic_xor_u64"] = asm["_emscripten_atomic_xor_u64"]; +var _emscripten_atomic_load_u64 = Module["_emscripten_atomic_load_u64"] = asm["_emscripten_atomic_load_u64"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _emscripten_atomic_and_u64 = Module["_emscripten_atomic_and_u64"] = asm["_emscripten_atomic_and_u64"]; +var _emscripten_sync_run_in_main_thread = Module["_emscripten_sync_run_in_main_thread"] = asm["_emscripten_sync_run_in_main_thread"]; +var _emscripten_sync_run_in_main_thread_4 = Module["_emscripten_sync_run_in_main_thread_4"] = asm["_emscripten_sync_run_in_main_thread_4"]; +var _emscripten_sync_run_in_main_thread_5 = Module["_emscripten_sync_run_in_main_thread_5"] = asm["_emscripten_sync_run_in_main_thread_5"]; +var _emscripten_sync_run_in_main_thread_6 = Module["_emscripten_sync_run_in_main_thread_6"] = asm["_emscripten_sync_run_in_main_thread_6"]; +var _emscripten_sync_run_in_main_thread_7 = Module["_emscripten_sync_run_in_main_thread_7"] = asm["_emscripten_sync_run_in_main_thread_7"]; +var _emscripten_sync_run_in_main_thread_0 = Module["_emscripten_sync_run_in_main_thread_0"] = asm["_emscripten_sync_run_in_main_thread_0"]; +var _emscripten_sync_run_in_main_thread_1 = Module["_emscripten_sync_run_in_main_thread_1"] = asm["_emscripten_sync_run_in_main_thread_1"]; +var _emscripten_sync_run_in_main_thread_2 = Module["_emscripten_sync_run_in_main_thread_2"] = asm["_emscripten_sync_run_in_main_thread_2"]; +var __emscripten_atomic_fetch_and_sub_u64 = Module["__emscripten_atomic_fetch_and_sub_u64"] = asm["__emscripten_atomic_fetch_and_sub_u64"]; +var _emscripten_atomic_exchange_u32 = Module["_emscripten_atomic_exchange_u32"] = asm["_emscripten_atomic_exchange_u32"]; var _fflush = Module["_fflush"] = asm["_fflush"]; +var _emscripten_set_current_thread_status = Module["_emscripten_set_current_thread_status"] = asm["_emscripten_set_current_thread_status"]; +var _emscripten_atomic_cas_u64 = Module["_emscripten_atomic_cas_u64"] = asm["_emscripten_atomic_cas_u64"]; var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; -var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _emscripten_atomic_sub_u64 = Module["_emscripten_atomic_sub_u64"] = asm["_emscripten_atomic_sub_u64"]; +var _main = Module["_main"] = asm["_main"]; +var _emscripten_sync_run_in_main_thread_xprintf_varargs = Module["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var __emscripten_atomic_fetch_and_and_u64 = Module["__emscripten_atomic_fetch_and_and_u64"] = asm["__emscripten_atomic_fetch_and_and_u64"]; +var _emscripten_sync_run_in_main_thread_3 = Module["_emscripten_sync_run_in_main_thread_3"] = asm["_emscripten_sync_run_in_main_thread_3"]; 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 _memset = Module["_memset"] = asm["_memset"]; var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_atomic_store_u64 = Module["_emscripten_atomic_store_u64"] = asm["_emscripten_atomic_store_u64"]; +var _emscripten_atomic_load_f64 = Module["_emscripten_atomic_load_f64"] = asm["_emscripten_atomic_load_f64"]; var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var __emscripten_atomic_fetch_and_add_u64 = Module["__emscripten_atomic_fetch_and_add_u64"] = asm["__emscripten_atomic_fetch_and_add_u64"]; +var __emscripten_atomic_fetch_and_or_u64 = Module["__emscripten_atomic_fetch_and_or_u64"] = asm["__emscripten_atomic_fetch_and_or_u64"]; 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 _emscripten_async_run_in_main_thread = Module["_emscripten_async_run_in_main_thread"] = asm["_emscripten_async_run_in_main_thread"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = asm["_emscripten_main_thread_process_queued_calls"]; +var _emscripten_atomic_add_u64 = Module["_emscripten_atomic_add_u64"] = asm["_emscripten_atomic_add_u64"]; var _free = Module["_free"] = asm["_free"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var _emscripten_atomic_store_f32 = Module["_emscripten_atomic_store_f32"] = asm["_emscripten_atomic_store_f32"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _emscripten_atomic_exchange_u64 = Module["_emscripten_atomic_exchange_u64"] = asm["_emscripten_atomic_exchange_u64"]; +var _emscripten_atomic_store_f64 = Module["_emscripten_atomic_store_f64"] = asm["_emscripten_atomic_store_f64"]; +var ___pthread_tsd_run_dtors = Module["___pthread_tsd_run_dtors"] = asm["___pthread_tsd_run_dtors"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _emscripten_conditional_set_current_thread_status = Module["_emscripten_conditional_set_current_thread_status"] = asm["_emscripten_conditional_set_current_thread_status"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; var _memmove = Module["_memmove"] = asm["_memmove"]; +var _emscripten_atomic_or_u64 = Module["_emscripten_atomic_or_u64"] = asm["_emscripten_atomic_or_u64"]; 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"]; @@ -28660,6 +35271,7 @@ function exit(status, implicit) { 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 { + PThread.terminateAllThreads(); ABORT = true; EXITSTATUS = status; @@ -28680,6 +35292,7 @@ Module['exit'] = Module.exit = exit; var abortDecorators = []; function abort(what) { + if (ENVIRONMENT_IS_PTHREAD) console.error('Pthread aborting at ' + new Error().stack); if (what !== undefined) { Module.print(what); Module.printErr(what); @@ -28719,7 +35332,7 @@ if (Module['noInitialRun']) { } -run(); +if (!ENVIRONMENT_IS_PTHREAD) run(); // {{POST_RUN_ADDITIONS}} diff --git a/docs/examples/web/physac/physics_shatter.c b/docs/examples/web/physac/physics_shatter.c index fac90714..7ca656fa 100644 --- a/docs/examples/web/physac/physics_shatter.c +++ b/docs/examples/web/physac/physics_shatter.c @@ -2,9 +2,11 @@ * * Physac - Body shatter * -* NOTE: Physac requires multi-threading, when InitPhysics() a second thread is created to manage physics calculations. +* 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) +* +* Use the following line to compile: * -* Use the following code to compile (-static -lpthread): * 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 * @@ -15,96 +17,131 @@ #include "raylib.h" #define PHYSAC_IMPLEMENTATION -#include "../src/physac.h" +#include "physac.h" + +#if defined(PLATFORM_WEB) + #include +#endif + +//---------------------------------------------------------------------------------- +// Global Variables Definition +//---------------------------------------------------------------------------------- +int screenWidth = 800; +int screenHeight = 450; + +// Physac logo drawing position +int logoX = 0; +int logoY = 15; + +PhysicsBody body; + +//---------------------------------------------------------------------------------- +// Module Functions Declaration +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void); // Update and Draw one frame +//---------------------------------------------------------------------------------- +// Main Enry Point +//---------------------------------------------------------------------------------- int main() { // Initialization //-------------------------------------------------------------------------------------- - int screenWidth = 800; - int screenHeight = 450; - SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Body shatter"); - SetTargetFPS(60); // Physac logo drawing position - int logoX = screenWidth - MeasureText("Physac", 30) - 10; - int logoY = 15; + logoX = screenWidth - MeasureText("Physac", 30) - 10; // Initialize physics and default physics bodies InitPhysics(); SetPhysicsGravity(0, 0); // Create random polygon physics body to shatter - PhysicsBody body = CreatePhysicsBodyPolygon((Vector2){ screenWidth/2, screenHeight/2 }, GetRandomValue(80, 200), GetRandomValue(3, 8), 10); - //-------------------------------------------------------------------------------------- + body = CreatePhysicsBodyPolygon((Vector2){ screenWidth/2, screenHeight/2 }, GetRandomValue(80, 200), GetRandomValue(3, 8), 10); +#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 { - // Update - //---------------------------------------------------------------------------------- - if (IsKeyPressed('R')) // Reset physics input - { - ResetPhysics(); + UpdateDrawFrame(); + } +#endif - // Create random polygon physics body to shatter - body = CreatePhysicsBodyPolygon((Vector2){ screenWidth/2, screenHeight/2 }, GetRandomValue(80, 200), GetRandomValue(3, 8), 10); - } + // De-Initialization + //-------------------------------------------------------------------------------------- + ClosePhysics(); // Uninitialize physics + + CloseWindow(); // Close window and OpenGL context + //-------------------------------------------------------------------------------------- + + return 0; +} + +//---------------------------------------------------------------------------------- +// Module Functions Definition +//---------------------------------------------------------------------------------- +void UpdateDrawFrame(void) +{ + // Update + //---------------------------------------------------------------------------------- + if (IsKeyPressed('R')) // Reset physics input + { + ResetPhysics(); + + // Create random polygon physics body to shatter + body = CreatePhysicsBodyPolygon((Vector2){ screenWidth/2, screenHeight/2 }, GetRandomValue(80, 200), GetRandomValue(3, 8), 10); + } - if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) // Physics shatter input + if (IsMouseButtonPressed(MOUSE_LEFT_BUTTON)) // Physics shatter input + { + // Note: some values need to be stored in variables due to asynchronous changes during main thread + int count = GetPhysicsBodiesCount(); + for (int i = count - 1; i >= 0; i--) { - // Note: some values need to be stored in variables due to asynchronous changes during main thread - int count = GetPhysicsBodiesCount(); - for (int i = count - 1; i >= 0; i--) - { - PhysicsBody currentBody = GetPhysicsBody(i); - if (currentBody != NULL) PhysicsShatter(currentBody, GetMousePosition(), 10/currentBody->inverseMass); - } + PhysicsBody currentBody = GetPhysicsBody(i); + if (currentBody != NULL) PhysicsShatter(currentBody, GetMousePosition(), 10/currentBody->inverseMass); } - //---------------------------------------------------------------------------------- + } + //---------------------------------------------------------------------------------- - // Draw - //---------------------------------------------------------------------------------- - BeginDrawing(); + // Draw + //---------------------------------------------------------------------------------- + BeginDrawing(); - ClearBackground(BLACK); + ClearBackground(BLACK); - // Draw created physics bodies - int bodiesCount = GetPhysicsBodiesCount(); - for (int i = 0; i < bodiesCount; i++) - { - PhysicsBody currentBody = GetPhysicsBody(i); + // Draw created physics bodies + int bodiesCount = GetPhysicsBodiesCount(); + for (int i = 0; i < bodiesCount; i++) + { + PhysicsBody currentBody = GetPhysicsBody(i); - int vertexCount = GetPhysicsShapeVerticesCount(i); - for (int j = 0; j < vertexCount; j++) - { - // Get physics bodies shape vertices to draw lines - // Note: GetPhysicsShapeVertex() already calculates rotation transformations - Vector2 vertexA = GetPhysicsShapeVertex(currentBody, j); + int vertexCount = GetPhysicsShapeVerticesCount(i); + for (int j = 0; j < vertexCount; j++) + { + // Get physics bodies shape vertices to draw lines + // Note: GetPhysicsShapeVertex() already calculates rotation transformations + Vector2 vertexA = GetPhysicsShapeVertex(currentBody, j); - int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape - Vector2 vertexB = GetPhysicsShapeVertex(currentBody, jj); + int jj = (((j + 1) < vertexCount) ? (j + 1) : 0); // Get next vertex or first to close the shape + Vector2 vertexB = GetPhysicsShapeVertex(currentBody, jj); - DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions - } + DrawLineV(vertexA, vertexB, GREEN); // Draw a line between two vertex positions } + } - DrawText("Left mouse button in polygon area to shatter body\nPress 'R' to reset example", 10, 10, 10, WHITE); - - DrawText("Physac", logoX, logoY, 30, WHITE); - DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); + DrawText("Left mouse button in polygon area to shatter body\nPress 'R' to reset example", 10, 10, 10, WHITE); - EndDrawing(); - //---------------------------------------------------------------------------------- - } - - // De-Initialization - //-------------------------------------------------------------------------------------- - ClosePhysics(); // Unitialize physics - CloseWindow(); // Close window and OpenGL context - //-------------------------------------------------------------------------------------- + DrawText("Physac", logoX, logoY, 30, WHITE); + DrawText("Powered by", logoX + 50, logoY - 7, 10, WHITE); - return 0; + EndDrawing(); + //---------------------------------------------------------------------------------- } + diff --git a/docs/examples/web/physac/physics_shatter.js b/docs/examples/web/physac/physics_shatter.js index c617de90..51c37e33 100644 --- a/docs/examples/web/physac/physics_shatter.js +++ b/docs/examples/web/physac/physics_shatter.js @@ -59,6 +59,11 @@ if (Module['ENVIRONMENT']) { ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; } +var ENVIRONMENT_IS_PTHREAD; +if (!ENVIRONMENT_IS_PTHREAD) ENVIRONMENT_IS_PTHREAD = false; // ENVIRONMENT_IS_PTHREAD=true will have been preset in pthread-main.js. Make it false in the main runtime thread. +var PthreadWorkerInit; // Collects together variables that are needed at initialization time for the web workers that host pthreads. +if (!ENVIRONMENT_IS_PTHREAD) PthreadWorkerInit = {}; +var currentScriptUrl = ENVIRONMENT_IS_WORKER ? undefined : document.currentScript.src; if (ENVIRONMENT_IS_NODE) { // Expose functionality in the same simple way that the shells work @@ -1178,9 +1183,14 @@ 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 +if (!ENVIRONMENT_IS_PTHREAD) { // Pthreads have already initialized these variables in src/pthread-main.js, where they were passed to the thread worker at startup time STATIC_BASE = STATICTOP = STACK_BASE = STACKTOP = STACK_MAX = DYNAMIC_BASE = DYNAMICTOP_PTR = 0; staticSealed = false; +} +if (ENVIRONMENT_IS_PTHREAD) { + staticSealed = true; // The static memory area has been initialized already in the main thread, pthreads skip this. +} // Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. function writeStackCookie() { @@ -1207,7 +1217,7 @@ function abortOnCannotGrowMemory() { function enlargeMemory() { - abortOnCannotGrowMemory(); + abort('Cannot enlarge memory arrays, since compiling with pthreads support enabled (-s USE_PTHREADS=1).'); } @@ -1221,27 +1231,69 @@ assert(typeof Int32Array !== 'undefined' && typeof Float64Array !== 'undefined' 'JS engine does not provide full typed array support'); - -// Use a provided buffer, if there is one, or else allocate a new one -if (Module['buffer']) { - buffer = Module['buffer']; - assert(buffer.byteLength === TOTAL_MEMORY, 'provided buffer should be ' + TOTAL_MEMORY + ' bytes, but it is ' + buffer.byteLength); +if (typeof SharedArrayBuffer !== 'undefined') { + if (!ENVIRONMENT_IS_PTHREAD) buffer = new SharedArrayBuffer(TOTAL_MEMORY); + // Currently SharedArrayBuffer does not have a slice() operation, so polyfill it in. + // Adapted from https://github.com/ttaubert/node-arraybuffer-slice, (c) 2014 Tim Taubert + // arraybuffer-slice may be freely distributed under the MIT license. + (function (undefined) { + "use strict"; + function clamp(val, length) { + val = (val|0) || 0; + if (val < 0) return Math.max(val + length, 0); + return Math.min(val, length); + } + if (typeof SharedArrayBuffer !== 'undefined' && !SharedArrayBuffer.prototype.slice) { + SharedArrayBuffer.prototype.slice = function (from, to) { + var length = this.byteLength; + var begin = clamp(from, length); + var end = length; + if (to !== undefined) end = clamp(to, length); + if (begin > end) return new ArrayBuffer(0); + var num = end - begin; + var target = new ArrayBuffer(num); + var targetArray = new Uint8Array(target); + var sourceArray = new Uint8Array(this, begin, num); + targetArray.set(sourceArray); + return target; + }; + } + })(); } else { - // Use a WebAssembly memory where available - { - buffer = new ArrayBuffer(TOTAL_MEMORY); - } - assert(buffer.byteLength === TOTAL_MEMORY); + if (!ENVIRONMENT_IS_PTHREAD) buffer = new ArrayBuffer(TOTAL_MEMORY); } updateGlobalBufferViews(); +if (typeof Atomics === 'undefined') { + // Polyfill singlethreaded atomics ops from http://lars-t-hansen.github.io/ecmascript_sharedmem/shmem.html#Atomics.add + // No thread-safety needed since we don't have multithreading support. + Atomics = {}; + Atomics['add'] = function(t, i, v) { var w = t[i]; t[i] += v; return w; } + Atomics['and'] = function(t, i, v) { var w = t[i]; t[i] &= v; return w; } + Atomics['compareExchange'] = function(t, i, e, r) { var w = t[i]; if (w == e) t[i] = r; return w; } + Atomics['exchange'] = function(t, i, v) { var w = t[i]; t[i] = v; return w; } + Atomics['wait'] = function(t, i, v, o) { if (t[i] != v) return 'not-equal'; else return 'timed-out'; } + Atomics['wake'] = function(t, i, c) { return 0; } + Atomics['wakeOrRequeue'] = function(t, i1, c, i2, v) { return 0; } + Atomics['isLockFree'] = function(s) { return true; } + Atomics['load'] = function(t, i) { return t[i]; } + Atomics['or'] = function(t, i, v) { var w = t[i]; t[i] |= v; return w; } + Atomics['store'] = function(t, i, v) { t[i] = v; return v; } + Atomics['sub'] = function(t, i, v) { var w = t[i]; t[i] -= v; return w; } + Atomics['xor'] = function(t, i, v) { var w = t[i]; t[i] ^= v; return w; } +} + function getTotalMemory() { return TOTAL_MEMORY; } // Endianness check (note: assumes compiler arch was little-endian) +if (!ENVIRONMENT_IS_PTHREAD) { HEAP32[0] = 0x63736d65; /* 'emsc' */ +} else { + if (HEAP32[0] !== 0x63736d65) throw 'Runtime error: The application has corrupted its heap memory area (address zero)!'; +} HEAP16[1] = 0x6373; if (HEAPU8[2] !== 0x73 || HEAPU8[3] !== 0x63) throw 'Runtime error: expected the system to be little-endian!'; @@ -1285,8 +1337,10 @@ var __ATPOSTRUN__ = []; // functions called after the runtime has exited var runtimeInitialized = false; var runtimeExited = false; +if (ENVIRONMENT_IS_PTHREAD) runtimeInitialized = true; // The runtime is hosted in the main thread, and bits shared to pthreads via SharedArrayBuffer. No need to init again in pthread. function preRun() { + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. // compatibility - merge in anything from Module['preRun'] at this time if (Module['preRun']) { if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; @@ -1299,6 +1353,7 @@ function preRun() { function ensureInitRuntime() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. if (runtimeInitialized) return; runtimeInitialized = true; callRuntimeCallbacks(__ATINIT__); @@ -1306,17 +1361,20 @@ function ensureInitRuntime() { function preMain() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. callRuntimeCallbacks(__ATMAIN__); } function exitRuntime() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. callRuntimeCallbacks(__ATEXIT__); runtimeExited = true; } function postRun() { checkStackCookie(); + if (ENVIRONMENT_IS_PTHREAD) return; // PThreads reuse the runtime from the main thread. // compatibility - merge in anything from Module['postRun'] at this time if (Module['postRun']) { if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; @@ -1435,6 +1493,18 @@ function reSign(value, bits, ignore) { return value; } +// Atomics.exchange is not yet implemented in the spec, so polyfill that in via compareExchange in the meanwhile. +// TODO: Keep an eye out for the opportunity to remove this once Atomics.exchange is available. +if (typeof Atomics !== 'undefined' && !Atomics['exchange']) { + Atomics['exchange'] = function(heap, index, val) { + var oldVal, oldVal2; + do { + oldVal = Atomics['load'](heap, index); + oldVal2 = Atomics['compareExchange'](heap, index, oldVal, val); + } while(oldVal != oldVal2); + return oldVal; + } +} // 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) { @@ -1504,6 +1574,9 @@ function getUniqueRunDependency(id) { } function addRunDependency(id) { + // We should never get here in pthreads (could no-op this out if called in pthreads, but that might indicate a bug in caller side, + // so good to be very explicit) + assert(!ENVIRONMENT_IS_PTHREAD); runDependencies++; if (Module['monitorRunDependencies']) { Module['monitorRunDependencies'](runDependencies); @@ -1572,52 +1645,43 @@ 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)]); } }]; +var ASM_CONSTS = [function($0, $1) { { Module.printErr('bad name in getProcAddress: ' + [Pointer_stringify($0), Pointer_stringify($1)]); } }, + function() { postMessage({ cmd: 'processQueuedMainThreadWork' }) }]; function _emscripten_asm_const_iii(code, a0, a1) { return ASM_CONSTS[code](a0, a1); } +function _emscripten_asm_const_v(code) { + return ASM_CONSTS[code](); +} + STATIC_BASE = 8; -STATICTOP = STATIC_BASE + 35840; - /* global initializers */ __ATINIT__.push(); +STATICTOP = STATIC_BASE + 38272; + /* global initializers */ if (!ENVIRONMENT_IS_PTHREAD) __ATINIT__.push({ func: function() { ___emscripten_pthread_data_constructor() } }); -/* 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); +if (!ENVIRONMENT_IS_PTHREAD) { +/* memory initializer */ allocate([32,3,0,0,194,1,0,0,15,0,0,0,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,176,11,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,127,145,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,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,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,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,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], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE); +/* memory initializer */ allocate([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,101,109,115,99,114,105,112,116,101,110,95,105,115,95,109,97,105,110,95,114,117,110,116,105,109,101,95,116,104,114,101,97,100,40,41,32,38,38,32,34,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,32,109,117,115,116,32,98,101,32,99,97,108,108,101,100,32,102,114,111,109,32,116,104,101,32,109,97,105,110,32,116,104,114,101,97,100,33,34,0,67,58,92,101,109,115,100,107,92,101,109,115,99,114,105,112,116,101,110,92,49,46,51,55,46,57,92,115,121,115,116,101,109,92,108,105,98,92,112,116,104,114,101,97,100,92,108,105,98,114,97,114,121,95,112,116,104,114,101,97,100,46,99,0,101,109,115,99,114,105,112,116,101,110,95,109,97,105,110,95,116,104,114,101,97,100,95,112,114,111,99,101,115,115,95,113,117,101,117,101,100,95,99,97,108,108,115,0,48,32,38,38,32,34,73,110,118,97,108,105,100,32,69,109,115,99,114,105,112,116,101,110,32,112,116,104,114,101,97,100,32,95,100,111,95,99,97,108,108,32,111,112,99,111,100,101,33,34,0,95,100,111,95,99,97,108,108,0,99,97,108,108,0,101,109,115,99,114,105,112,116,101,110,95,97,115,121,110,99,95,114,117,110,95,105,110,95,109,97,105,110,95,116,104,114,101,97,100,0,112,111,115,116,77,101,115,115,97,103,101,40,123,32,99,109,100,58,32,39,112,114,111,99,101,115,115,81,117,101,117,101,100,77,97,105,110,84,104,114,101,97,100,87,111,114,107,39,32,125,41,0], "i8", ALLOC_NONE, Runtime.GLOBAL_BASE+10240); +} /* no memory initializer */ -var tempDoublePtr = STATICTOP; STATICTOP += 16; +var tempDoublePtr; + +if (!ENVIRONMENT_IS_PTHREAD) tempDoublePtr = Runtime.alignMemory(allocate(12, "i8", ALLOC_STATIC), 8); assert(tempDoublePtr % 8 == 0); @@ -1880,6 +1944,8 @@ function copyTempDouble(ptr) { function _emscripten_glStencilMaskSeparate(x0, x1) { GLctx['stencilMaskSeparate'](x0, x1) } + function ___pthread_setcancelstate() { return 0 } + function _emscripten_get_now() { abort() } @@ -3360,3466 +3426,7549 @@ function copyTempDouble(ptr) { } - 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; }); + 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--; + } } - },registerRemoveEventListeners:function () { - if (!JSEvents.removeEventListenersRegistered) { - __ATEXIT__.push(function() { - for(var i = JSEvents.eventHandlers.length-1; i >= 0; --i) { - JSEvents._removeHandler(i); - } - }); - JSEvents.removeEventListenersRegistered = true; + // if the path is allowed to go above the root, restore leading ..s + if (allowAboveRoot) { + for (; up--; up) { + parts.unshift('..'); + } } - },findEventTarget:function (target) { - if (target) { - if (typeof target == "number") { - target = Pointer_stringify(target); + 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 } - 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; + resolvedPath = path + '/' + resolvedPath; + resolvedAbsolute = path.charAt(0) === '/'; } - },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; + // 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; } - return true; + var end = arr.length - 1; + for (; end >= 0; end--) { + if (arr[end] !== '') break; + } + if (start > end) return []; + return arr.slice(start, end - start + 1); } - // 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; + 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; } } - JSEvents.deferredCalls.push({ - targetFunction: targetFunction, - precedence: precedence, - argsList: argsList - }); + 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) {} + } - 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; + 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); } - },canPerformEventHandlerRequests:function () { - return JSEvents.inEventHandler && JSEvents.currentEventHandler.allowsDeferredCalls; - },runDeferredCalls:function () { - if (!JSEvents.canPerformEventHandlerRequests()) { - return; + 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 + } + }; } - 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); + 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; } - },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--); - } + node.timestamp = Date.now(); + // add the new node to the parent + if (parent) { + parent.contents[name] = node; } - },_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; + 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. } - - 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--); - } - } + 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. } - },registerKeyEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.keyEvent) { - JSEvents.keyEvent = _malloc( 164 ); + + 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; } - 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(); + // 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. } - }; - - 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 ); + node.usedBytes = newSize; + return; } - 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(); + // 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; + } } - }; - 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(); + // 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. + } } - }; - // 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(); + 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 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]; + 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); } - if (typeof document.documentElement.scrollLeft !== 'undefined' || typeof document.documentElement.scrollTop !== 'undefined') { - return [document.documentElement.scrollLeft, document.documentElement.scrollTop]; + + var req; + try { + req = IDBFS.indexedDB().open(name, IDBFS.DB_VERSION); + } catch (e) { + return callback(e); } - 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 (!req) { + return callback("Unable to connect to IndexedDB"); } + req.onupgradeneeded = function(e) { + var db = e.target.result; + var transaction = e.target.transaction; - if (eventTypeString == "scroll" && !target) { - target = document; // By default read scroll events on document rather than window. - } else { - target = JSEvents.findEventTarget(target); - } + var fileStore; - 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; + if (db.objectStoreNames.contains(IDBFS.DB_STORE_NAME)) { + fileStore = transaction.objectStore(IDBFS.DB_STORE_NAME); + } else { + fileStore = db.createObjectStore(IDBFS.DB_STORE_NAME); } - 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(); + + if (!fileStore.indexNames.contains('timestamp')) { + fileStore.createIndex('timestamp', 'timestamp', { unique: false }); } }; + req.onsuccess = function() { + db = req.result; - var eventHandler = { - target: target, - allowsDeferredCalls: false, // Neither scroll or resize events allow running requests inside them. - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + // add to the cache + IDBFS.dbs[name] = db; + callback(null, db); }; - 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; + req.onerror = function(e) { + callback(this.error); + e.preventDefault(); + }; + },getLocalSet:function (mount, callback) { + var entries = {}; - 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(); + function isRealDir(p) { + return p !== '.' && p !== '..'; + }; + function toAbsolute(root) { + return function(p) { + return PATH.join2(root, p); } }; - 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 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 }; } - 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; + return callback(null, { type: 'local', entries: entries }); + },getRemoteSet:function (mount, callback) { + var entries = {}; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceOrientationEvent, userData); - if (shouldCancel) { + 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 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; + var store = transaction.objectStore(IDBFS.DB_STORE_NAME); + var index = store.index('timestamp'); - 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; + index.openKeyCursor().onsuccess = function(event) { + var cursor = event.target.result; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.deviceMotionEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; + if (!cursor) { + return callback(null, { type: 'remote', db: db, entries: entries }); + } - 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"]; + entries[cursor.primaryKey] = { timestamp: cursor.key }; - var orientationString = JSEvents.screenOrientation(); - var orientation = orientations.indexOf(orientationString); - if (orientation == -1) { - orientation = orientations2.indexOf(orientationString); - } + cursor.continue(); + }; + }); + },loadLocalEntry:function (path, callback) { + var stat, node; - 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 ); + try { + var lookup = FS.lookupPath(path); + node = lookup.node; + stat = FS.stat(path); + } catch (e) { + return callback(e); } - if (!target) { - target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + 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 { - target = JSEvents.findEventTarget(target); + 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')); + } - var handlerFunc = function(event) { - var e = event || window.event; + FS.chmod(path, entry.mode); + FS.utime(path, entry.timestamp, entry.timestamp); + } catch (e) { + return callback(e); + } - JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); + callback(null); + },removeLocalEntry:function (path, callback) { + try { + var lookup = FS.lookupPath(path); + var stat = FS.stat(path); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); + if (FS.isDir(stat.mode)) { + FS.rmdir(path); + } else if (FS.isFile(stat.mode)) { + FS.unlink(path); } - }; - - if (eventTypeString == "orientationchange" && window.screen.mozOrientation !== undefined) { - eventTypeString = "mozorientationchange"; + } catch (e) { + return callback(e); } - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + 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(); }; - 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); - } + },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 handlerFunc = function(event) { - var e = event || window.event; + 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++; + } + }); - JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); + if (!total) { + return callback(null); + } - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); + 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); } }; - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + transaction.onerror = function(e) { + done(this.error); + e.preventDefault(); }; - 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; + // 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 { - var desiredCssWidth = windowedRttWidth * cssHeight / windowedRttHeight; - __setLetterbox(target, 0, (cssWidth - desiredCssWidth) / 2); - cssWidth = desiredCssWidth; + IDBFS.loadLocalEntry(path, function (err, entry) { + if (err) return done(err); + IDBFS.storeRemoteEntry(store, path, entry, done); + }); } - } - - // 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; + // 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 { - return -3; + 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); } - - if (strategy.canvasResizedCallback) { - Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); + 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 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 ); + return stat.mode; + },realPath:function (node) { + var parts = []; + while (node.parent !== node) { + parts.push(node.name); + node = node.parent; } - - if (!target) { - target = document; // Pointer lock change events need to be captured from 'document' by default instead of 'window' + 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 { - target = JSEvents.findEventTarget(target); + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } - - 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(); + },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]); + } + } } - }; - - 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(); + if (position < 0) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); } - }; - 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 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; } - 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 ); + function base(path) { + var parts = path.split('/'); + return parts[parts.length-1]; } - - if (!target) { - target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + // 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 { - target = JSEvents.findEventTarget(target); + 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 handlerFunc = function(event) { - var e = event || window.event; + var _stdin; if (ENVIRONMENT_IS_PTHREAD) _stdin = PthreadWorkerInit._stdin; else PthreadWorkerInit._stdin = _stdin = allocate(1, "i32*", ALLOC_STATIC); - JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); + var _stdout; if (ENVIRONMENT_IS_PTHREAD) _stdout = PthreadWorkerInit._stdout; else PthreadWorkerInit._stdout = _stdout = allocate(1, "i32*", ALLOC_STATIC); - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.visibilityChangeEvent, userData); - if (shouldCancel) { - e.preventDefault(); - } - }; + var _stderr; if (ENVIRONMENT_IS_PTHREAD) _stderr = PthreadWorkerInit._stderr; else PthreadWorkerInit._stderr = _stderr = allocate(1, "i32*", ALLOC_STATIC);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 || {}; - var eventHandler = { - target: target, - allowsDeferredCalls: false, - eventTypeString: eventTypeString, - callbackfunc: callbackfunc, - handlerFunc: handlerFunc, - useCapture: useCapture + if (!path) return { path: '', node: null }; + + var defaults = { + follow_mount: true, + recurse_count: 0 }; - JSEvents.registerOrRemoveHandler(eventHandler); - },registerTouchEventCallback:function (target, userData, useCapture, callbackfunc, eventTypeId, eventTypeString) { - if (!JSEvents.touchEvent) { - JSEvents.touchEvent = _malloc( 1684 ); + for (var key in defaults) { + if (opts[key] === undefined) { + opts[key] = defaults[key]; + } } - target = JSEvents.findEventTarget(target); + if (opts.recurse_count > 8) { // max recursive lookup of 8 + throw new FS.ErrnoError(ERRNO_CODES.ELOOP); + } - var handlerFunc = function(event) { - var e = event || window.event; + // split the path + var parts = PATH.normalizeArray(path.split('/').filter(function(p) { + return !!p; + }), false); - 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; + // 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; } - - 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; + + 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; } - HEAP32[(((ptr)+(36))>>2)]=t.clientX - targetRect.left; - HEAP32[(((ptr)+(40))>>2)]=t.clientY - targetRect.top; - - ptr += 52; + } - if (++numTouches >= 32) { - break; + // 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); + } } } - HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; + } - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); - if (shouldCancel) { - e.preventDefault(); + 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; - 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 < name.length; i++) { + hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; } - 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]; + 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; } } - 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; - } + },lookupNode:function (parent, name) { + var err = FS.mayLookup(parent); + if (err) { + throw new FS.ErrnoError(err, parent); } - 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 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; + }; - var handlerFunc = function(event) { - var e = event || window.event; + 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); } + } + }); + } - JSEvents.fillGamepadEventData(JSEvents.gamepadEvent, e.gamepad); - - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.gamepadEvent, userData); - if (shouldCancel) { - e.preventDefault(); + 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); + } - 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; + return mounts; + },syncfs:function (populate, callback) { + if (typeof(populate) === 'function') { + callback = populate; + populate = false; + } - var confirmationMessage = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - - if (confirmationMessage) { - confirmationMessage = Pointer_stringify(confirmationMessage); + 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 (confirmationMessage) { - e.preventDefault(); - e.returnValue = confirmationMessage; - return confirmationMessage; + if (++completed >= mounts.length) { + doCallback(null); } }; - 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 ); - } + // 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; - var handlerFunc = function(event) { - var e = event || window.event; + if (root && FS.root) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); + } else if (!root && !pseudo) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - JSEvents.fillBatteryEventData(JSEvents.batteryEvent, JSEvents.battery()); + mountpoint = lookup.path; // use the absolute path + node = lookup.node; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.batteryEvent, userData); - if (shouldCancel) { - e.preventDefault(); + if (FS.isMountpoint(node)) { + throw new FS.ErrnoError(ERRNO_CODES.EBUSY); } - }; - 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']; + if (!FS.isDir(node.mode)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOTDIR); + } } - var handlerFunc = function(event) { - var e = event || window.event; - var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); - if (shouldCancel) { - e.preventDefault(); - } + var mount = { + type: type, + opts: opts, + mountpoint: mountpoint, + mounts: [] }; - 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; + // create a root node for the fs + var mountRoot = type.mount(mount); + mountRoot.mount = mount; + mount.root = mountRoot; - // 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; + if (root) { + FS.root = mountRoot; + } else if (node) { + // set as a mountpoint + node.mounted = mount; - // INVALID_PARAM is returned on a Gamepad index that never was there. - if (index < 0 || index >= JSEvents.lastGamepadState.length) return -5; + // add the new mount to the current mount's children + if (node.mount) { + node.mount.mounts.push(mount); + } + } - // 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; + return mountRoot; + },unmount:function (mountpoint) { + var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - 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); - } - + if (!FS.isMountpoint(lookup.node)) { + throw new FS.ErrnoError(ERRNO_CODES.EINVAL); + } - var _emscripten_GetProcAddress=undefined; - Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; + // destroy the nodes for this mount, and all its child mounts + var node = lookup.node; + var mount = node.mounted; + var mounts = FS.getMounts(mount); - 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; + 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); } - if (numConfigs) { - HEAP32[((numConfigs)>>2)]=1; // Total number of supported configs: 1. + var err = FS.mayCreate(parent, name); + if (err) { + throw new FS.ErrnoError(err); } - if (config && config_size > 0) { - HEAP32[((config)>>2)]=62002; + if (!parent.node_ops.mknod) { + throw new FS.ErrnoError(ERRNO_CODES.EPERM); } - - 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; + 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; } } - } - }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)]; + },mkdev:function (path, mode, dev) { + if (typeof(dev) === 'undefined') { + dev = mode; + mode = 438 /* 0666 */; } - } 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)]; + mode |= 8192; + return FS.mknod(path, mode, dev); + },symlink:function (oldpath, newpath) { + if (!PATH.resolve(oldpath)) { + throw new FS.ErrnoError(ERRNO_CODES.ENOENT); } - } 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); + 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); } - }; - } - 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; + 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'); + } - __emscripten_sample_gamepad_data(); - if (!JSEvents.lastGamepadState) return -1; - return JSEvents.lastGamepadState.length; - } - - function _emscripten_glUniform4iv(location, count, value) { + // 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); - 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) { + FS.mount(MEMFS, {}, '/'); + FS.createDefaultDirectories(); + FS.createDefaultDevices(); + FS.createSpecialDirectories(); - 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)]; + 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); } - } 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; + },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 { - return -2; + ___setErrNo(ret.error); + return null; } - } - - 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) } + },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) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 54, 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_glDetachShader(program, shader) { - GLctx.detachShader(GL.programs[program], - GL.shaders[shader]); + function _emscripten_glSampleCoverage(value, invert) { + GLctx.sampleCoverage(value, !!invert); } - function _emscripten_glDeleteVertexArrays(n, vaos) { + function _glDeleteTextures(n, textures) { for (var i = 0; i < n; i++) { - var id = HEAP32[(((vaos)+(i*4))>>2)]; - GLctx['deleteVertexArray'](GL.vaos[id]); - GL.vaos[id] = null; + 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 _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_glFrustum() { + Module['printErr']('missing function: emscripten_glFrustum'); abort(-1); + } + + function _glfwSetWindowSizeCallback(winid, cbfun) { + GLFW.setWindowSizeCallback(winid, cbfun); } - function _emscripten_glGetTexParameteriv(target, pname, params) { + 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; } - 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); + HEAPF32[((params)>>2)]=GLctx.getTexParameter(target, pname); } - function _glDisableVertexAttribArray(index) { - GLctx.disableVertexAttribArray(index); + function _emscripten_glUniform4i(location, v0, v1, v2, v3) { + GLctx.uniform4i(GL.uniforms[location], v0, v1, v2, v3); } - function _emscripten_glUseProgram(program) { - GLctx.useProgram(program ? GL.programs[program] : null); + function _emscripten_glBindRenderbuffer(target, renderbuffer) { + GLctx.bindRenderbuffer(target, renderbuffer ? GL.renderbuffers[renderbuffer] : null); } - function _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } + function _emscripten_glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } - 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)]; + 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; }); } - } 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) } - - + },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']; - 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); - } - + 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; - 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; + for(var i in arrA) { + if (arrA[i] != arrB[i]) return false; + } + return true; } - } 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; + // 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; } } - } - }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() {} - + JSEvents.deferredCalls.push({ + targetFunction: targetFunction, + precedence: precedence, + argsList: argsList + }); - - 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) { + 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); - 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)]; + 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; } - } 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]; + 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(); + } + }; - // From spec: "glDeleteBuffers silently ignores 0's and names that do not - // correspond to existing buffer objects." - if (!buffer) continue; + 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(); + } + }; - GLctx.deleteBuffer(buffer); - buffer.name = 0; - GL.buffers[id] = null; + 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 (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 (eventTypeString == "scroll" && !target) { + target = document; // By default read scroll events on document rather than window. + } else { + target = JSEvents.findEventTarget(target); + } - 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 + ')'; + 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; } - 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]); + 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(); } - 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 + ')'; + }; + + 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(); } - 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 + 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(); } - 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; + 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; - 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; + 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); } - 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; + 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 ); } - 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) } - + if (!target) { + target = window.screen; // Orientation events need to be captured from 'window.screen' instead of 'window' + } else { + target = JSEvents.findEventTarget(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["___uremdi3"] = ___uremdi3; - - function _emscripten_glClearDepthf(x0) { GLctx['clearDepth'](x0) } - - function _emscripten_glClear(x0) { GLctx['clear'](x0) } - + var handlerFunc = function(event) { + var e = event || window.event; - 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']); - } + JSEvents.fillOrientationChangeEventData(JSEvents.orientationChangeEvent, e); - 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 shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.orientationChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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; + 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 ); + } - 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 (!target) { + target = document; // Fullscreen change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } - if (program >= GL.counter) { - GL.recordError(0x0501 /* GL_INVALID_VALUE */); - return; - } + var handlerFunc = function(event) { + var e = event || window.event; - var ptable = GL.programInfos[program]; - if (!ptable) { - GL.recordError(0x0502 /* GL_INVALID_OPERATION */); - return; - } + JSEvents.fillFullscreenChangeEventData(JSEvents.fullscreenChangeEvent, e); - 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); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.fullscreenChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); } - } - 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); + }; + + 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; } } - 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); + // 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. - 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) { + 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; } } - 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; + if (strategy.canvasResizedCallback) { + Module['dynCall_iiii'](strategy.canvasResizedCallback, 37, 0, strategy.canvasResizedCallbackUserData); } - 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); - } - + 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 ); + } - 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) { + 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; - 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) { + JSEvents.fillPointerlockChangeEventData(JSEvents.pointerlockChangeEvent, e); + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.pointerlockChangeEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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 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 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. + var handlerFunc = function(event) { + var e = event || window.event; - if (bufSize > 0 && name) { - var numBytesWrittenExclNull = stringToUTF8(info.name, name, bufSize); - if (length) HEAP32[((length)>>2)]=numBytesWrittenExclNull; - } else { - if (length) HEAP32[((length)>>2)]=0; - } + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, 0, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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); + 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 ); + } - GLctx.shaderSource(GL.shaders[shader], source); - } - - function _pthread_create() { - return 11; - } - - function _emscripten_glDrawArrays(mode, first, count) { + if (!target) { + target = document; // Visibility change events need to be captured from 'document' by default instead of 'window' + } else { + target = JSEvents.findEventTarget(target); + } - GLctx.drawArrays(mode, first, count); + var handlerFunc = function(event) { + var e = event || window.event; - } - - 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); + JSEvents.fillVisibilityChangeEventData(JSEvents.visibilityChangeEvent, e); - 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; + 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 ); } - 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; + target = JSEvents.findEventTarget(target); + var handlerFunc = function(event) { + var e = event || window.event; - GLctx.bindBuffer(target, bufferObj); - } - - function _emscripten_glVertexAttrib4fv(index, v) { + 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; - 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) { + if (++numTouches >= 32) { + break; + } + } + HEAP32[((JSEvents.touchEvent)>>2)]=numTouches; - var bufArray = GL.tempFixedLengthArray[n]; - for (var i = 0; i < n; i++) { - bufArray[i] = HEAP32[(((bufs)+(i*4))>>2)]; - } + var shouldCancel = Module['dynCall_iiii'](callbackfunc, eventTypeId, JSEvents.touchEvent, userData); + if (shouldCancel) { + e.preventDefault(); + } + }; - 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); + 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; } - - 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; + function _utime(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(12, path, times); + // int utime(const char *path, const struct utimbuf *times); + // http://pubs.opengroup.org/onlinepubs/009695399/basedefs/utime.h.html + var time; + if (times) { + // NOTE: We don't keep track of access timestamps. + var offset = 4; + time = HEAP32[(((times)+(offset))>>2)]; + time *= 1000; } else { - if (length) HEAP32[((length)>>2)]=0; + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; } } - - Module["_llvm_bswap_i32"] = _llvm_bswap_i32; + function _emscripten_glCopyTexImage2D(x0, x1, x2, x3, x4, x5, x6, x7) { GLctx['copyTexImage2D'](x0, x1, x2, x3, x4, x5, x6, x7) } - function _emscripten_set_click_callback(target, userData, useCapture, callbackfunc) { - JSEvents.registerMouseEventCallback(target, userData, useCapture, callbackfunc, 4, "click"); - return 0; + function _emscripten_glTexParameterfv(target, pname, params) { + var param = HEAPF32[((params)>>2)]; + GLctx.texParameterf(target, pname, param); } - function _glfwSetKeyCallback(winid, cbfun) { - GLFW.setKeyCallback(winid, cbfun); + + + + var PROCINFO={ppid:1,pid:42,sid:42,pgid:42}; + + + var __pthread_ptr=0; + + var __pthread_is_main_browser_thread=0;function __register_pthread_ptr(pthreadPtr, isMainBrowserThread, isMainRuntimeThread) { + pthreadPtr = pthreadPtr|0; + isMainBrowserThread = isMainBrowserThread|0; + isMainRuntimeThread = isMainRuntimeThread|0; + __pthread_ptr = pthreadPtr; + __pthread_is_main_browser_thread = isMainBrowserThread; + __pthread_is_main_runtime_thread = isMainRuntimeThread; } - - 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; + + var _emscripten_main_thread_process_queued_calls=undefined;var PThread={MAIN_THREAD_ID:1,mainThreadInfo:{schedPolicy:0,schedPrio:0},unusedWorkerPool:[],runningWorkers:[],initMainThreadBlock:function () { + if (ENVIRONMENT_IS_PTHREAD) return undefined; + PThread.mainThreadBlock = allocate(244, "i32*", ALLOC_STATIC); + __register_pthread_ptr(PThread.mainThreadBlock, /*isMainBrowserThread=*/!ENVIRONMENT_IS_WORKER, /*isMainRuntimeThread=*/1); // Pass the thread address inside the asm.js scope to store it for fast access that avoids the need for a FFI out. + + for (var i = 0; i < 244/4; ++i) HEAPU32[PThread.mainThreadBlock/4+i] = 0; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((PThread.mainThreadBlock)+(24))>>2)]=PThread.mainThreadBlock; + + // Allocate memory for thread-local storage. + var tlsMemory = allocate(128 * 4, "i32*", ALLOC_STATIC); + for (var i = 0; i < 128; ++i) HEAPU32[tlsMemory/4+i] = 0; + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 52 ) >> 2, PThread.mainThreadBlock); // Main thread ID. + Atomics.store(HEAPU32, (PThread.mainThreadBlock + 56 ) >> 2, PROCINFO.pid); // Process ID. + + },pthreads:{},pthreadIdCounter:2,exitHandlers:null,setThreadStatus:function () {},runExitHandlers:function () { + if (PThread.exitHandlers !== null) { + while (PThread.exitHandlers.length > 0) { + PThread.exitHandlers.pop()(); + } + PThread.exitHandlers = null; + } + + // Call into the musl function that runs destructors of all thread-specific data. + if (ENVIRONMENT_IS_PTHREAD && threadInfoStruct) ___pthread_tsd_run_dtors(); + },threadExit:function (exitCode) { + var tb = _pthread_self(); + if (tb) { // If we haven't yet exited? + Atomics.store(HEAPU32, (tb + 4 ) >> 2, exitCode); + // When we publish this, the main thread is free to deallocate the thread object and we are done. + // Therefore set threadInfoStruct = 0; above to 'release' the object in this worker thread. + Atomics.store(HEAPU32, (tb + 0 ) >> 2, 1); + + // Disable all cancellation so that executing the cleanup handlers won't trigger another JS + // canceled exception to be thrown. + Atomics.store(HEAPU32, (tb + 72 ) >> 2, 1/*PTHREAD_CANCEL_DISABLE*/); + Atomics.store(HEAPU32, (tb + 76 ) >> 2, 0/*PTHREAD_CANCEL_DEFERRED*/); + PThread.runExitHandlers(); + + _emscripten_futex_wake(tb + 0, 2147483647); + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + threadInfoStruct = 0; + if (ENVIRONMENT_IS_PTHREAD) { + // This worker no longer owns any WebGL OffscreenCanvases, so transfer them back to parent thread. + var transferList = []; + + + postMessage({ cmd: 'exit' }); + } + } + },threadCancel:function () { + PThread.runExitHandlers(); + Atomics.store(HEAPU32, (threadInfoStruct + 4 ) >> 2, -1/*PTHREAD_CANCELED*/); + Atomics.store(HEAPU32, (threadInfoStruct + 0 ) >> 2, 1); // Mark the thread as no longer running. + _emscripten_futex_wake(threadInfoStruct + 0, 2147483647); // wake all threads + threadInfoStruct = selfThreadId = 0; // Not hosting a pthread anymore in this worker, reset the info structures to null. + __register_pthread_ptr(0, 0, 0); // Unregister the thread block also inside the asm.js scope. + postMessage({ cmd: 'cancelDone' }); + },terminateAllThreads:function () { + for (var t in PThread.pthreads) { + var pthread = PThread.pthreads[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.pthreads = {}; + for (var t in PThread.unusedWorkerPool) { + var pthread = PThread.unusedWorkerPool[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.unusedWorkerPool = []; + for (var t in PThread.runningWorkers) { + var pthread = PThread.runningWorkers[t]; + if (pthread) { + PThread.freeThreadData(pthread); + if (pthread.worker) pthread.worker.terminate(); + } + } + PThread.runningWorkers = []; + },freeThreadData:function (pthread) { + if (!pthread) return; + if (pthread.threadInfoStruct) { + var tlsMemory = HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]; + HEAP32[(((pthread.threadInfoStruct)+(116))>>2)]=0; + _free(pthread.tlsMemory); + _free(pthread.threadInfoStruct); + } + pthread.threadInfoStruct = 0; + if (pthread.allocatedOwnStack && pthread.stackBase) _free(pthread.stackBase); + pthread.stackBase = 0; + if (pthread.worker) pthread.worker.pthread = null; + },receiveObjectTransfer:function (data) { + },allocateUnusedWorkers:function (numWorkers, onFinishedLoading) { + if (typeof SharedArrayBuffer === 'undefined') return; // No multithreading support, no-op. + Module['print']('Preallocating ' + numWorkers + ' workers for a pthread spawn pool.'); + + var numWorkersLoaded = 0; + for (var i = 0; i < numWorkers; ++i) { + var pthreadMainJs = 'pthread-main.js'; + // Allow HTML module to configure the location where the 'pthread-main.js' file will be loaded from, + // either via Module.locateFile() function, or via Module.pthreadMainPrefixURL string. If neither + // of these are passed, then the default URL 'pthread-main.js' relative to the main html file is loaded. + if (typeof Module['locateFile'] === 'function') pthreadMainJs = Module['locateFile'](pthreadMainJs); + else if (Module['pthreadMainPrefixURL']) pthreadMainJs = Module['pthreadMainPrefixURL'] + pthreadMainJs; + var worker = new Worker(pthreadMainJs); + + worker.onmessage = function(e) { + // If this message is intended to a recipient that is not the main thread, forward it to the target thread. + if (e.data.targetThread && e.data.targetThread != _pthread_self()) { + var thread = PThread.pthreads[e.data.targetThread]; + if (thread) { + thread.worker.postMessage(e.data, e.data.transferList); + } else { + console.error('Internal error! Worker sent a message "' + e.data.cmd + '" to target pthread ' + e.data.targetThread + ', but that thread no longer exists!'); + } + return; + } + + if (e.data.cmd === 'processQueuedMainThreadWork') { + // TODO: Must post message to main Emscripten thread in PROXY_TO_WORKER mode. + _emscripten_main_thread_process_queued_calls(); + } else if (e.data.cmd === 'spawnThread') { + __spawn_thread(e.data); + } else if (e.data.cmd === 'cleanupThread') { + __cleanup_thread(e.data.thread); + } else if (e.data.cmd === 'killThread') { + __kill_thread(e.data.thread); + } else if (e.data.cmd === 'cancelThread') { + __cancel_thread(e.data.thread); + } else if (e.data.cmd === 'loaded') { + ++numWorkersLoaded; + if (numWorkersLoaded === numWorkers && onFinishedLoading) { + onFinishedLoading(); + } + } else if (e.data.cmd === 'print') { + Module['print']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'printErr') { + Module['printErr']('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'alert') { + alert('Thread ' + e.data.threadId + ': ' + e.data.text); + } else if (e.data.cmd === 'exit') { + // currently no-op + } else if (e.data.cmd === 'cancelDone') { + PThread.freeThreadData(worker.pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + // TODO: Free if detached. + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } else if (e.data.cmd === 'objectTransfer') { + PThread.receiveObjectTransfer(e.data); + } else { + Module['printErr']("worker sent an unknown command " + e.data.cmd); + } + }; + + worker.onerror = function(e) { + Module['printErr']('pthread sent an error! ' + e.filename + ':' + e.lineno + ': ' + e.message); + }; + + // Allocate tempDoublePtr for the worker. This is done here on the worker's behalf, since we may need to do this statically + // if the runtime has not been loaded yet, etc. - so we just use getMemory, which is main-thread only. + var tempDoublePtr = getMemory(8); // TODO: leaks. Cleanup after worker terminates. + + // Ask the new worker to load up the Emscripten-compiled page. This is a heavy operation. + worker.postMessage({ + cmd: 'load', + url: currentScriptUrl, + buffer: HEAPU8.buffer, + tempDoublePtr: tempDoublePtr, + TOTAL_MEMORY: TOTAL_MEMORY, + STATICTOP: STATICTOP, + DYNAMIC_BASE: DYNAMIC_BASE, + DYNAMICTOP_PTR: DYNAMICTOP_PTR, + PthreadWorkerInit: PthreadWorkerInit + }); + PThread.unusedWorkerPool.push(worker); + } + },getNewWorker:function () { + if (PThread.unusedWorkerPool.length == 0) PThread.allocateUnusedWorkers(1); + if (PThread.unusedWorkerPool.length > 0) return PThread.unusedWorkerPool.pop(); + else return null; + },busySpinWait:function (msecs) { + var t = performance.now() + msecs; + while(performance.now() < t) { + ; + } + }};var __pthread_is_main_runtime_thread=0;function _emscripten_is_main_runtime_thread() { + return __pthread_is_main_runtime_thread|0; // Semantically the same as testing "!ENVIRONMENT_IS_PTHREAD" outside the asm.js scope } - function _emscripten_glGetFloatv(name_, p) { - emscriptenWebGLGet(name_, p, 'Float'); + 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 _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 _emscripten_glUniform3f(location, v0, v1, v2) { + GLctx.uniform3f(GL.uniforms[location], v0, v1, v2); } - 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_glGetObjectParameterivARB() { + Module['printErr']('missing function: emscripten_glGetObjectParameterivARB'); abort(-1); + } - function _emscripten_glDrawElementsInstanced(mode, count, type, indices, primcount) { - GLctx['drawElementsInstanced'](mode, count, type, indices, primcount); - } + function _emscripten_glBlendFunc(x0, x1) { GLctx['blendFunc'](x0, x1) } - function _emscripten_glDrawElements(mode, count, type, indices) { - - GLctx.drawElements(mode, count, type, indices); - + function _emscripten_glUniform3i(location, v0, v1, v2) { + GLctx.uniform3i(GL.uniforms[location], v0, v1, v2); } - function _glfwSetMouseButtonCallback(winid, cbfun) { - GLFW.setMouseButtonCallback(winid, cbfun); - } + function _emscripten_glStencilOp(x0, x1, x2) { GLctx['stencilOp'](x0, x1, x2) } - function _emscripten_glCreateProgram() { - var id = GL.getNewId(GL.programs); - var program = GLctx.createProgram(); - program.name = id; - GL.programs[id] = program; + function _glCreateShader(shaderType) { + var id = GL.getNewId(GL.shaders); + GL.shaders[id] = GLctx.createShader(shaderType); 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 _glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); } - function _emscripten_glClearColor(x0, x1, x2, x3) { GLctx['clearColor'](x0, x1, x2, x3) } + function _emscripten_glBindAttribLocation(program, index, name) { + name = Pointer_stringify(name); + GLctx.bindAttribLocation(GL.programs[program], index, name); + } - function _emscripten_glBindVertexArray(vao) { - GLctx['bindVertexArray'](GL.vaos[vao]); + 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 _emscripten_glLoadMatrixf() { - Module['printErr']('missing function: emscripten_glLoadMatrixf'); abort(-1); - } + function _glDisable(x0) { GLctx['disable'](x0) } - 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_glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); } - 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); - } - } + + Module["_memset"] = _memset; - 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 _atexit(func, arg) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(110, func, arg); + __ATEXIT__.unshift({ func: func, arg: arg }); } - 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 _glfwMakeContextCurrent(winid) {} - 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 _emscripten_set_touchcancel_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 25, "touchcancel"); + return 0; } - function ___unlock() {} + function ___lock() {} - function _emscripten_glColorPointer() { - Module['printErr']('missing function: emscripten_glColorPointer'); abort(-1); - } + function _emscripten_glBlendFuncSeparate(x0, x1, x2, x3) { GLctx['blendFuncSeparate'](x0, x1, x2, x3) } - function _glViewport(x0, x1, x2, x3) { GLctx['viewport'](x0, x1, x2, x3) } + function _glCullFace(x0) { GLctx['cullFace'](x0) } - function _glfwDestroyWindow(winid) { - return GLFW.destroyWindow(winid); + 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_glFlush() { GLctx['flush']() } + function _emscripten_glVertexAttrib3f(x0, x1, x2, x3) { GLctx['vertexAttrib3f'](x0, x1, x2, x3) } - function _glfwSetErrorCallback(cbfun) { - GLFW.errorFunc = cbfun; - } + function _emscripten_glEnable(x0) { GLctx['enable'](x0) } - function _emscripten_glCreateShader(shaderType) { - var id = GL.getNewId(GL.shaders); - GL.shaders[id] = GLctx.createShader(shaderType); - return id; - } + function _emscripten_glNormalPointer() { + Module['printErr']('missing function: emscripten_glNormalPointer'); abort(-1); + } - function _glUniformMatrix4fv(location, count, transpose, value) { + var _emscripten_GetProcAddress=undefined; + Module["_emscripten_GetProcAddress"] = _emscripten_GetProcAddress; - 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)]; + 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; } - } else { - view = HEAPF32.subarray((value)>>2,(value+count*64)>>2); - } - GLctx.uniformMatrix4fv(GL.uniforms[location], !!transpose, view); + // 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 _emscripten_glValidateProgram(program) { - GLctx.validateProgram(GL.programs[program]); + function _glfwSetScrollCallback(winid, cbfun) { + GLFW.setScrollCallback(winid, cbfun); } - function _glTexParameteri(x0, x1, x2) { GLctx['texParameteri'](x0, x1, x2) } - - function _glFrontFace(x0) { GLctx['frontFace'](x0) } + 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 _emscripten_glColorMask(red, green, blue, alpha) { - GLctx.colorMask(!!red, !!green, !!blue, !!alpha); + function _glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); } - 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 _glfwGetPrimaryMonitor() { + return 1; } - 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; + 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; + } } - var id = GL.getNewId(GL.vaos); - vao.name = id; - GL.vaos[id] = vao; - HEAP32[(((arrays)+(i*4))>>2)]=id; } + }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 _time(ptr) { - var ret = (Date.now()/1000)|0; - if (ptr) { - HEAP32[((ptr)>>2)]=ret; + 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; } - return ret; + GLctx.deleteShader(shader); + GL.shaders[id] = null; } - function _emscripten_glGetBooleanv(name_, p) { - emscriptenWebGLGet(name_, p, 'Boolean'); + 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_glCompileShader(shader) { - GLctx.compileShader(GL.shaders[shader]); + function _emscripten_glTexParameteriv(target, pname, params) { + var param = HEAP32[((params)>>2)]; + GLctx.texParameteri(target, pname, param); } -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); + function _glDrawElements(mode, count, type, indices) { + + GLctx.drawElements(mode, count, type, indices); + + } -STACK_MAX = STACK_BASE + TOTAL_STACK; + 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; + } -DYNAMIC_BASE = Runtime.alignMemory(STACK_MAX); + 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); + } -HEAP32[DYNAMICTOP_PTR>>2] = DYNAMIC_BASE; + function ___syscall6(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 6, 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; + } + } -staticSealed = true; // seal the static portion of memory + 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; + } -assert(DYNAMIC_BASE < TOTAL_MEMORY, "TOTAL_MEMORY not big enough for stack"); + 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 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 _emscripten_glEnableClientState() { + Module['printErr']('missing function: emscripten_glEnableClientState'); abort(-1); + } -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 _emscripten_glGetPointerv() { + Module['printErr']('missing function: emscripten_glGetPointerv'); abort(-1); + } -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 ___syscall140(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 140, 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 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 ___syscall146(which, varargs) {if (ENVIRONMENT_IS_PTHREAD) { return _emscripten_sync_run_in_main_thread_2(138, 146, 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 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 _emscripten_glUniform1i(location, v0) { + GLctx.uniform1i(GL.uniforms[location], v0); + } -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 _emscripten_glStencilMask(x0) { GLctx['stencilMask'](x0) } -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 _emscripten_glStencilFuncSeparate(x0, x1, x2, x3) { GLctx['stencilFuncSeparate'](x0, x1, x2, x3) } -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) } + + var _tzname; if (ENVIRONMENT_IS_PTHREAD) _tzname = PthreadWorkerInit._tzname; else PthreadWorkerInit._tzname = _tzname = allocate(8, "i32*", ALLOC_STATIC); + + var _daylight; if (ENVIRONMENT_IS_PTHREAD) _daylight = PthreadWorkerInit._daylight; else PthreadWorkerInit._daylight = _daylight = allocate(1, "i32*", ALLOC_STATIC); + + var _timezone; if (ENVIRONMENT_IS_PTHREAD) _timezone = PthreadWorkerInit._timezone; else PthreadWorkerInit._timezone = _timezone = allocate(1, "i32*", ALLOC_STATIC);function _tzset() { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_0(119); + // TODO: Use (malleable) environment variables instead of system settings. + if (_tzset.called) return; + _tzset.called = true; + + HEAP32[((_timezone)>>2)]=-(new Date()).getTimezoneOffset() * 60; + + var winter = new Date(2000, 0, 1); + var summer = new Date(2000, 6, 1); + HEAP32[((_daylight)>>2)]=Number(winter.getTimezoneOffset() != summer.getTimezoneOffset()); + + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + }; + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocate(intArrayFromString(winterName), 'i8', ALLOC_NORMAL); + var summerNamePtr = allocate(intArrayFromString(summerName), 'i8', ALLOC_NORMAL); + if (summer.getTimezoneOffset() < winter.getTimezoneOffset()) { + // Northern hemisphere + HEAP32[((_tzname)>>2)]=winterNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=summerNamePtr; + } else { + HEAP32[((_tzname)>>2)]=summerNamePtr; + HEAP32[(((_tzname)+(4))>>2)]=winterNamePtr; + } + } -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) } + + Module["_i64Subtract"] = _i64Subtract; -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) } + + Module["_i64Add"] = _i64Add; -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 _emscripten_set_touchend_callback(target, userData, useCapture, callbackfunc) { + JSEvents.registerTouchEventCallback(target, userData, useCapture, callbackfunc, 23, "touchend"); + return 0; + } -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 _glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } -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 _emscripten_glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } -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 _emscripten_glVertexAttrib1f(x0, x1) { GLctx['vertexAttrib1f'](x0, x1) } -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 _emscripten_glFinish() { GLctx['finish']() } -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 _glDrawArrays(mode, first, count) { + + GLctx.drawArrays(mode, first, count); + + } -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 _emscripten_glDepthFunc(x0) { GLctx['depthFunc'](x0) } -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 _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 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 _sysconf(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(72, name); + // long sysconf(int name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/sysconf.html + switch(name) { + case 30: return PAGE_SIZE; + case 85: + var maxHeapSize = 2*1024*1024*1024 - 16777216; + maxHeapSize = HEAPU8.length; + return maxHeapSize / PAGE_SIZE; + case 132: + case 133: + case 12: + case 137: + case 138: + case 15: + case 235: + case 16: + case 17: + case 18: + case 19: + case 20: + case 149: + case 13: + case 10: + case 236: + case 153: + case 9: + case 21: + case 22: + case 159: + case 154: + case 14: + case 77: + case 78: + case 139: + case 80: + case 81: + case 82: + case 68: + case 67: + case 164: + case 11: + case 29: + case 47: + case 48: + case 95: + case 52: + case 51: + case 46: + return 200809; + case 79: + return 0; + case 27: + case 246: + case 127: + case 128: + case 23: + case 24: + case 160: + case 161: + case 181: + case 182: + case 242: + case 183: + case 184: + case 243: + case 244: + case 245: + case 165: + case 178: + case 179: + case 49: + case 50: + case 168: + case 169: + case 175: + case 170: + case 171: + case 172: + case 97: + case 76: + case 32: + case 173: + case 35: + return -1; + case 176: + case 177: + case 7: + case 155: + case 8: + case 157: + case 125: + case 126: + case 92: + case 93: + case 129: + case 130: + case 131: + case 94: + case 91: + return 1; + case 74: + case 60: + case 69: + case 70: + case 4: + return 1024; + case 31: + case 42: + case 72: + return 32; + case 87: + case 26: + case 33: + return 2147483647; + case 34: + case 1: + return 47839; + case 38: + case 36: + return 99; + case 43: + case 37: + return 2048; + case 0: return 2097152; + case 3: return 65536; + case 28: return 32768; + case 44: return 32767; + case 75: return 16384; + case 39: return 1000; + case 89: return 700; + case 71: return 256; + case 40: return 255; + case 2: return 100; + case 180: return 64; + case 25: return 20; + case 5: return 16; + case 6: return 6; + case 73: return 4; + case 84: { + if (typeof navigator === 'object') return navigator['hardwareConcurrency'] || 1; + return 1; + } + } + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } -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 _emscripten_glUniform4iv(location, count, value) { + + + GLctx.uniform4iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*16)>>2)); + } -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 _glClear(x0) { GLctx['clear'](x0) } -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 _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 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 _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 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 _emscripten_glIsTexture(texture) { + var texture = GL.textures[texture]; + if (!texture) return 0; + return GLctx.isTexture(texture); + } -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 _glEnableVertexAttribArray(index) { + GLctx.enableVertexAttribArray(index); + } -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 _emscripten_glAttachShader(program, shader) { + GLctx.attachShader(GL.programs[program], + GL.shaders[shader]); + } -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 _glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } -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 _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 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 _emscripten_glVertexAttrib2f(x0, x1, x2) { GLctx['vertexAttrib2f'](x0, x1, x2) } -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 _glfwCreateWindow(width, height, title, monitor, share) { + return GLFW.createWindow(width, height, title, monitor, share); + } -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 _glfwDefaultWindowHints() { + GLFW.hints = GLFW.defaultHints; + } -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 _gettimeofday(ptr) { + var now = Date.now(); + HEAP32[((ptr)>>2)]=(now/1000)|0; // seconds + HEAP32[(((ptr)+(4))>>2)]=((now % 1000)*1000)|0; // microseconds + return 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 _emscripten_glClearStencil(x0) { GLctx['clearStencil'](x0) } -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 _emscripten_glDetachShader(program, shader) { + GLctx.detachShader(GL.programs[program], + GL.shaders[shader]); + } -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 _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 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 _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 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 _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 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 _glfwSwapBuffers(winid) { + GLFW.swapBuffers(winid); + } -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 _emscripten_glGenerateMipmap(x0) { GLctx['generateMipmap'](x0) } -function invoke_i(index) { - try { - return Module["dynCall_i"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} + + + + + var _environ; if (ENVIRONMENT_IS_PTHREAD) _environ = PthreadWorkerInit._environ; else PthreadWorkerInit._environ = _environ = allocate(1, "i32*", ALLOC_STATIC);var ___environ=_environ;function ___buildEnvironment(env) { + // WARNING: Arbitrary limit! + var MAX_ENV_VALUES = 64; + var TOTAL_ENV_SIZE = 1024; + + // Statically allocate memory for the environment. + var poolPtr; + var envPtr; + if (!___buildEnvironment.called) { + ___buildEnvironment.called = true; + // Set default values. Use string keys for Closure Compiler compatibility. + ENV['USER'] = ENV['LOGNAME'] = 'web_user'; + ENV['PATH'] = '/'; + ENV['PWD'] = '/'; + ENV['HOME'] = '/home/web_user'; + ENV['LANG'] = 'C'; + ENV['_'] = Module['thisProgram']; + // Allocate memory. + poolPtr = allocate(TOTAL_ENV_SIZE, 'i8', ALLOC_STATIC); + envPtr = allocate(MAX_ENV_VALUES * 4, + 'i8*', ALLOC_STATIC); + HEAP32[((envPtr)>>2)]=poolPtr; + HEAP32[((_environ)>>2)]=envPtr; + } else { + envPtr = HEAP32[((_environ)>>2)]; + poolPtr = HEAP32[((envPtr)>>2)]; + } + + // Collect key=value lines. + var strings = []; + var totalSize = 0; + for (var key in env) { + if (typeof env[key] === 'string') { + var line = key + '=' + env[key]; + strings.push(line); + totalSize += line.length; + } + } + if (totalSize > TOTAL_ENV_SIZE) { + throw new Error('Environment size exceeded TOTAL_ENV_SIZE!'); + } + + // Make new. + var ptrSize = 4; + for (var i = 0; i < strings.length; i++) { + var line = strings[i]; + writeAsciiToMemory(line, poolPtr); + HEAP32[(((envPtr)+(i * ptrSize))>>2)]=poolPtr; + poolPtr += line.length + 1; + } + HEAP32[(((envPtr)+(strings.length * ptrSize))>>2)]=0; + }var ENV={};function _clearenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(112, name); + // int clearenv (void); + // http://www.gnu.org/s/hello/manual/libc/Environment-Access.html#index-clearenv-3107 + ENV = {}; + ___buildEnvironment(ENV); + return 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 _emscripten_glCullFace(x0) { GLctx['cullFace'](x0) } -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 _emscripten_glUniform4f(location, v0, v1, v2, v3) { + GLctx.uniform4f(GL.uniforms[location], v0, v1, v2, v3); + } -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 _glDisableVertexAttribArray(index) { + GLctx.disableVertexAttribArray(index); + } -function invoke_v(index) { - try { - Module["dynCall_v"](index); - } catch(e) { - if (typeof e !== 'number' && e !== 'longjmp') throw e; - Module["setThrew"](1, 0); - } -} + function _emscripten_glUseProgram(program) { + GLctx.useProgram(program ? GL.programs[program] : null); + } -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 _emscripten_glHint(x0, x1) { GLctx['hint'](x0, x1) } -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); - } -} + 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); + } -Module.asmGlobalArg = { "Math": Math, "Int8Array": Int8Array, "Int16Array": Int16Array, "Int32Array": Int32Array, "Uint8Array": Uint8Array, "Uint16Array": Uint16Array, "Uint32Array": Uint32Array, "Float32Array": Float32Array, "Float64Array": Float64Array, "NaN": NaN, "Infinity": Infinity }; + 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); + } -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'; + 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) { - 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); + GLctx.uniform2iv(GL.uniforms[location], HEAP32.subarray((value)>>2,(value+count*8)>>2)); + } + var _emscripten_asm_const=true; - 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; + function _chroot(path) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(37, path); + // int chroot(const char *path); + // http://pubs.opengroup.org/onlinepubs/7908799/xsh/chroot.html + ___setErrNo(ERRNO_CODES.EACCES); + return -1; + } - 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; + function _glEnable(x0) { GLctx['enable'](x0) } - 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; + + + 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 _unsetenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(114, name); + // int unsetenv(const char *name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/unsetenv.html + if (name === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + name = Pointer_stringify(name); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name)) { + delete ENV[name]; + ___buildEnvironment(ENV); + } + return 0; + } + + function _emscripten_glDepthMask(flag) { + GLctx.depthMask(!!flag); + } + + + function _emscripten_glDepthRangef(x0, x1) { GLctx['depthRange'](x0, x1) } + + + + 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']); + }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 ___clock_gettime() { + return _clock_gettime.apply(null, arguments) + } + + 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_glVertexAttrib1fv(index, v) { + + GLctx.vertexAttrib1f(index, HEAPF32[v>>2]); + } + + + function __cleanup_thread(pthread_ptr) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _cleanup_thread() can only ever be called from main application thread!'; + if (!pthread_ptr) throw 'Internal Error! Null pthread_ptr in _cleanup_thread!'; + HEAP32[(((pthread_ptr)+(24))>>2)]=0; + var pthread = PThread.pthreads[pthread_ptr]; + var worker = pthread.worker; + PThread.freeThreadData(pthread); + worker.pthread = undefined; // Detach the worker from the pthread object, and return it to the worker pool as an unused worker. + PThread.unusedWorkerPool.push(worker); + PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker.pthread), 1); // Not a running Worker anymore. + } + + function __pthread_testcancel_js() { + if (!ENVIRONMENT_IS_PTHREAD) return; + if (!threadInfoStruct) return; + var cancelDisabled = Atomics.load(HEAPU32, (threadInfoStruct + 72 ) >> 2); + if (cancelDisabled) return; + var canceled = Atomics.load(HEAPU32, (threadInfoStruct + 0 ) >> 2); + if (canceled == 2) throw 'Canceled!'; + }function _pthread_join(thread, status) { + if (!thread) { + Module['printErr']('pthread_join attempted on a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + if (ENVIRONMENT_IS_PTHREAD && selfThreadId == thread) { + Module['printErr']('PThread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + else if (!ENVIRONMENT_IS_PTHREAD && PThread.mainThreadBlock == thread) { + Module['printErr']('Main thread ' + thread + ' is attempting to join to itself!'); + return ERRNO_CODES.EDEADLK; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_join attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var detached = Atomics.load(HEAPU32, (thread + 80 ) >> 2); + if (detached) { + Module['printErr']('Attempted to join thread ' + thread + ', which was already detached!'); + return ERRNO_CODES.EINVAL; // The thread is already detached, can no longer join it! + } + for (;;) { + var threadStatus = Atomics.load(HEAPU32, (thread + 0 ) >> 2); + if (threadStatus == 1) { // Exited? + var threadExitCode = Atomics.load(HEAPU32, (thread + 4 ) >> 2); + if (status) HEAP32[((status)>>2)]=threadExitCode; + Atomics.store(HEAPU32, (thread + 80 ) >> 2, 1); // Mark the thread as detached. + + if (!ENVIRONMENT_IS_PTHREAD) __cleanup_thread(thread); + else postMessage({ cmd: 'cleanupThread', thread: thread}); + return 0; + } + // TODO HACK! Replace the _js variant with just _pthread_testcancel: + //_pthread_testcancel(); + __pthread_testcancel_js(); + // In main runtime thread (the thread that initialized the Emscripten C runtime and launched main()), assist pthreads in performing operations + // that they need to access the Emscripten main runtime for. + if (!ENVIRONMENT_IS_PTHREAD) _emscripten_main_thread_process_queued_calls(); + _emscripten_futex_wait(thread + 0, threadStatus, ENVIRONMENT_IS_PTHREAD ? 100 : 1); + } + } + + + + 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 __main_thread_futex_wait_address; if (ENVIRONMENT_IS_PTHREAD) __main_thread_futex_wait_address = PthreadWorkerInit.__main_thread_futex_wait_address; else PthreadWorkerInit.__main_thread_futex_wait_address = __main_thread_futex_wait_address = allocate(1, "i32*", ALLOC_STATIC);function _emscripten_futex_wait(addr, val, timeout) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0) return -22; + // dump('futex_wait addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ENVIRONMENT_IS_WORKER) { + var ret = Atomics.wait(HEAP32, addr >> 2, val, timeout); + // dump('futex_wait done by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + if (ret === 'timed-out') return -110; + if (ret === 'not-equal') return -11; + if (ret === 'ok') return 0; + throw 'Atomics.wait returned an unexpected value ' + ret; + } else { + // Atomics.wait is not available in the main browser thread, so simulate it via busy spinning. + var loadedVal = Atomics.load(HEAP32, addr >> 2); + if (val != loadedVal) return -11; + + var tNow = performance.now(); + var tEnd = tNow + timeout; + + + // Register globally which address the main thread is simulating to be waiting on. When zero, main thread is not waiting on anything, + // and on nonzero, the contents of address pointed by __main_thread_futex_wait_address tell which address the main thread is simulating its wait on. + Atomics.store(HEAP32, __main_thread_futex_wait_address >> 2, addr); + var ourWaitAddress = addr; // We may recursively re-enter this function while processing queued calls, in which case we'll do a spurious wakeup of the older wait operation. + while (addr == ourWaitAddress) { + tNow = performance.now(); + if (tNow > tEnd) { + return -110; + } + _emscripten_main_thread_process_queued_calls(); // We are performing a blocking loop here, so must pump any pthreads if they want to perform operations that are proxied. + addr = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); // Look for a worker thread waking us up. + } + return 0; + } + } + + 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; + } + + + + var cttz_i8; if (ENVIRONMENT_IS_PTHREAD) cttz_i8 = PthreadWorkerInit.cttz_i8; else PthreadWorkerInit.cttz_i8 = 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 _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 _emscripten_glDepthRange(x0, x1) { GLctx['depthRange'](x0, x1) } + + 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_futex_wake(addr, count) { + if (addr <= 0 || addr > HEAP8.length || addr&3 != 0 || count < 0) return -22; + if (count == 0) return 0; + // dump('futex_wake addr:' + addr + ' by thread: ' + _pthread_self() + (ENVIRONMENT_IS_PTHREAD?'(pthread)':'') + '\n'); + + // See if main thread is waiting on this address? If so, wake it up by resetting its wake location to zero. + // Note that this is not a fair procedure, since we always wake main thread first before any workers, so + // this scheme does not adhere to real queue-based waiting. + var mainThreadWaitAddress = Atomics.load(HEAP32, __main_thread_futex_wait_address >> 2); + var mainThreadWoken = 0; + if (mainThreadWaitAddress == addr) { + var loadedAddr = Atomics.compareExchange(HEAP32, __main_thread_futex_wait_address >> 2, mainThreadWaitAddress, 0); + if (loadedAddr == mainThreadWaitAddress) { + --count; + mainThreadWoken = 1; + if (count <= 0) return 1; + } + } + + // Wake any workers waiting on this address. + var ret = Atomics.wake(HEAP32, addr >> 2, count); + if (ret >= 0) return ret + mainThreadWoken; + throw 'Atomics.wake returned an unexpected value ' + ret; + } + + 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_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 __spawn_thread(threadParams) { + if (ENVIRONMENT_IS_PTHREAD) throw 'Internal Error! _spawn_thread() can only ever be called from main application thread!'; + + var worker = PThread.getNewWorker(); + if (worker.pthread !== undefined) throw 'Internal error!'; + if (!threadParams.pthread_ptr) throw 'Internal error, no pthread ptr!'; + PThread.runningWorkers.push(worker); + + // Allocate memory for thread-local storage and initialize it to zero. + var tlsMemory = _malloc(128 * 4); + for (var i = 0; i < 128; ++i) { + HEAP32[(((tlsMemory)+(i*4))>>2)]=0; + } + + var pthread = PThread.pthreads[threadParams.pthread_ptr] = { // Create a pthread info object to represent this thread. + worker: worker, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + allocatedOwnStack: threadParams.allocatedOwnStack, + thread: threadParams.pthread_ptr, + threadInfoStruct: threadParams.pthread_ptr // Info area for this thread in Emscripten HEAP (shared) + }; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 0 ) >> 2, 0); // threadStatus <- 0, meaning not yet exited. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 4 ) >> 2, 0); // threadExitCode <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 20 ) >> 2, 0); // profilerBlock <- 0. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 80 ) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 116 ) >> 2, tlsMemory); // Init thread-local-storage memory array. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 60 ) >> 2, 0); // Mark initial status to unused. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 52 ) >> 2, pthread.threadInfoStruct); // Main thread ID. + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 56 ) >> 2, PROCINFO.pid); // Process ID. + + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 96) >> 2, threadParams.stackSize); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 92) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 8) >> 2, threadParams.stackBase); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 12) >> 2, threadParams.detached); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 20) >> 2, threadParams.schedPolicy); + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 120 + 24) >> 2, threadParams.schedPrio); + + var global_libc = _emscripten_get_global_libc(); + var global_locale = global_libc + 40; + Atomics.store(HEAPU32, (pthread.threadInfoStruct + 188) >> 2, global_locale); + + + worker.pthread = pthread; + + // Ask the worker to start executing its pthread entry point function. + worker.postMessage({ + cmd: 'run', + start_routine: threadParams.startRoutine, + arg: threadParams.arg, + threadInfoStruct: threadParams.pthread_ptr, + selfThreadId: threadParams.pthread_ptr, // TODO: Remove this since thread ID is now the same as the thread address. + parentThreadId: threadParams.parent_pthread_ptr, + stackBase: threadParams.stackBase, + stackSize: threadParams.stackSize, + }, threadParams.transferList); + } + + function _pthread_getschedparam(thread, policy, schedparam) { + if (!policy && !schedparam) return ERRNO_CODES.EINVAL; + + if (!thread) { + Module['printErr']('pthread_getschedparam called with a null thread pointer!'); + return ERRNO_CODES.ESRCH; + } + var self = HEAP32[(((thread)+(24))>>2)]; + if (self != thread) { + Module['printErr']('pthread_getschedparam attempted on thread ' + thread + ', which does not point to a valid thread, or does not exist anymore!'); + return ERRNO_CODES.ESRCH; + } + + var schedPolicy = Atomics.load(HEAPU32, (thread + 120 + 20 ) >> 2); + var schedPrio = Atomics.load(HEAPU32, (thread + 120 + 24 ) >> 2); + + if (policy) HEAP32[((policy)>>2)]=schedPolicy; + if (schedparam) HEAP32[((schedparam)>>2)]=schedPrio; + return 0; + } + + function _pthread_self() { + return __pthread_ptr|0; + }function _pthread_create(pthread_ptr, attr, start_routine, arg) { + if (typeof SharedArrayBuffer === 'undefined') { + Module['printErr']('Current environment does not support SharedArrayBuffer, pthreads are not available!'); + return 11; + } + if (!pthread_ptr) { + Module['printErr']('pthread_create called with a null thread pointer!'); + return 22; + } + + var transferList = []; // List of JS objects that will transfer ownership to the Worker hosting the thread + + + // Synchronously proxy the thread creation to main thread if possible. If we need to transfer ownership of objects, then + // proxy asynchronously via postMessage. + if (ENVIRONMENT_IS_PTHREAD && transferList.length == 0) { + return _emscripten_sync_run_in_main_thread_4(137, pthread_ptr, attr, start_routine, arg); + } + + var stackSize = 0; + var stackBase = 0; + var detached = 0; // Default thread attr is PTHREAD_CREATE_JOINABLE, i.e. start as not detached. + var schedPolicy = 0; /*SCHED_OTHER*/ + var schedPrio = 0; + if (attr) { + stackSize = HEAP32[((attr)>>2)]; + stackBase = HEAP32[(((attr)+(8))>>2)]; + detached = HEAP32[(((attr)+(12))>>2)] != 0/*PTHREAD_CREATE_JOINABLE*/; + var inheritSched = HEAP32[(((attr)+(16))>>2)] == 0/*PTHREAD_INHERIT_SCHED*/; + if (inheritSched) { + var prevSchedPolicy = HEAP32[(((attr)+(20))>>2)]; + var prevSchedPrio = HEAP32[(((attr)+(24))>>2)]; + _pthread_getschedparam(_pthread_self(), attr + 20, attr + 24); + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + HEAP32[(((attr)+(20))>>2)]=prevSchedPolicy; + HEAP32[(((attr)+(24))>>2)]=prevSchedPrio; + } else { + schedPolicy = HEAP32[(((attr)+(20))>>2)]; + schedPrio = HEAP32[(((attr)+(24))>>2)]; + } + } + stackSize += 81920 /*DEFAULT_STACK_SIZE*/; + var allocatedOwnStack = stackBase == 0; // If allocatedOwnStack == true, then the pthread impl maintains the stack allocation. + if (allocatedOwnStack) { + stackBase = _malloc(stackSize); // Allocate a stack if the user doesn't want to place the stack in a custom memory area. + } else { + // Musl stores the stack base address assuming stack grows downwards, so adjust it to Emscripten convention that the + // stack grows upwards instead. + stackBase -= stackSize; + assert(stackBase > 0); + } + + // Allocate thread block (pthread_t structure). + var threadInfoStruct = _malloc(244); + for (var i = 0; i < 244 >> 2; ++i) HEAPU32[(threadInfoStruct>>2) + i] = 0; // zero-initialize thread structure. + HEAP32[((pthread_ptr)>>2)]=threadInfoStruct; + + // The pthread struct has a field that points to itself - this is used as a magic ID to detect whether the pthread_t + // structure is 'alive'. + HEAP32[(((threadInfoStruct)+(24))>>2)]=threadInfoStruct; + + // pthread struct robust_list head should point to itself. + var headPtr = threadInfoStruct + 168; + HEAP32[((headPtr)>>2)]=headPtr; + + var threadParams = { + stackBase: stackBase, + stackSize: stackSize, + allocatedOwnStack: allocatedOwnStack, + schedPolicy: schedPolicy, + schedPrio: schedPrio, + detached: detached, + startRoutine: start_routine, + pthread_ptr: threadInfoStruct, + parent_pthread_ptr: _pthread_self(), + arg: arg, + transferList: transferList + }; + + if (ENVIRONMENT_IS_PTHREAD) { + // The prepopulated pool of web workers that can host pthreads is stored in the main JS thread. Therefore if a + // pthread is attempting to spawn a new thread, the thread creation must be deferred to the main JS thread. + threadParams.cmd = 'spawnThread'; + postMessage(threadParams, transferList); + } else { + // We are the main thread, so we have the pthread warmup pool in this thread and can fire off JS thread creation + // directly ourselves. + __spawn_thread(threadParams); + } + + return 0; + } + + 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_set_current_thread_status_js(newStatus) { + } + Module["_emscripten_set_current_thread_status"] = _emscripten_set_current_thread_status; + + 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 _confstr(name, buf, len) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(68, name, buf, len); + // size_t confstr(int name, char *buf, size_t len); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/confstr.html + var value; + switch (name) { + case 0: + value = ENV['PATH'] || '/'; + break; + case 1: + // Mimicking glibc. + value = 'POSIX_V6_ILP32_OFF32\nPOSIX_V6_ILP32_OFFBIG'; + break; + case 2: + // This JS implementation was tested against this glibc version. + value = 'glibc 2.14'; + break; + case 3: + // We don't support pthreads. + value = ''; + break; + case 1118: + case 1122: + case 1124: + case 1125: + case 1126: + case 1128: + case 1129: + case 1130: + value = ''; + break; + case 1116: + case 1117: + case 1121: + value = '-m32'; + break; + case 1120: + value = '-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64'; + break; + default: + ___setErrNo(ERRNO_CODES.EINVAL); + return 0; + } + if (len == 0 || buf == 0) { + return value.length + 1; + } else { + var length = Math.min(len, value.length); + for (var i = 0; i < length; i++) { + HEAP8[(((buf)+(i))>>0)]=value.charCodeAt(i); + } + if (len > length) HEAP8[(((buf)+(i++))>>0)]=0; + return i; + } + } + + 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 _getenv(name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(111, name); + // char *getenv(const char *name); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/getenv.html + if (name === 0) return 0; + name = Pointer_stringify(name); + if (!ENV.hasOwnProperty(name)) return 0; + + if (_getenv.ret) _free(_getenv.ret); + _getenv.ret = allocate(intArrayFromString(ENV[name]), 'i8', ALLOC_NORMAL); + return _getenv.ret; + } + + + function _emscripten_conditional_set_current_thread_status_js(expectedStatus, newStatus) { + } + Module["_emscripten_conditional_set_current_thread_status"] = _emscripten_conditional_set_current_thread_status; + + 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 _setenv(envname, envval, overwrite) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_3(113, envname, envval, overwrite); + // int setenv(const char *envname, const char *envval, int overwrite); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/setenv.html + if (envname === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = Pointer_stringify(envname); + var val = Pointer_stringify(envval); + if (name === '' || name.indexOf('=') !== -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + if (ENV.hasOwnProperty(name) && !overwrite) return 0; + ENV[name] = val; + ___buildEnvironment(ENV); + return 0; + } + + 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_syscall(which, varargs) { + switch (which) { + case 54: return ___syscall54(which, varargs); + case 6: return ___syscall6(which, varargs); + case 140: return ___syscall140(which, varargs); + case 146: return ___syscall146(which, varargs); + default: throw "surprising proxied syscall: " + which; + } + } + + 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 _fpathconf(fildes, name) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(46, fildes, name); + // long fpathconf(int fildes, int name); + // http://pubs.opengroup.org/onlinepubs/000095399/functions/encrypt.html + // NOTE: The first parameter is ignored, so pathconf == fpathconf. + // The constants here aren't real values. Just mimicking glibc. + switch (name) { + case 0: + return 32000; + case 1: + case 2: + case 3: + return 255; + case 4: + case 5: + case 16: + case 17: + case 18: + return 4096; + case 6: + case 7: + case 20: + return 1; + case 8: + return 0; + case 9: + case 10: + case 11: + case 12: + case 14: + case 15: + case 19: + return -1; + case 13: + return 64; + } + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + + function _putenv(string) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_1(115, string); + // int putenv(char *string); + // http://pubs.opengroup.org/onlinepubs/009695399/functions/putenv.html + // WARNING: According to the standard (and the glibc implementation), the + // string is taken by reference so future changes are reflected. + // We copy it instead, possibly breaking some uses. + if (string === 0) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + string = Pointer_stringify(string); + var splitPoint = string.indexOf('=') + if (string === '' || string.indexOf('=') === -1) { + ___setErrNo(ERRNO_CODES.EINVAL); + return -1; + } + var name = string.slice(0, splitPoint); + var value = string.slice(splitPoint + 1); + if (!(name in ENV) || ENV[name] !== value) { + ENV[name] = value; + ___buildEnvironment(ENV); + } + return 0; + } + + 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 _utimes(path, times) { + if (ENVIRONMENT_IS_PTHREAD) return _emscripten_sync_run_in_main_thread_2(13, path, times); + var time; + if (times) { + var offset = 8 + 0; + time = HEAP32[(((times)+(offset))>>2)] * 1000; + offset = 8 + 4; + time += HEAP32[(((times)+(offset))>>2)] / 1000; + } else { + time = Date.now(); + } + path = Pointer_stringify(path); + try { + FS.utime(path, time, time); + return 0; + } catch (e) { + FS.handleFSError(e); + return -1; + } + } + + 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) }; +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();; +if (!ENVIRONMENT_IS_PTHREAD) PThread.initMainThreadBlock();; +if (!ENVIRONMENT_IS_PTHREAD) ___buildEnvironment(ENV);; +if (!ENVIRONMENT_IS_PTHREAD) { + // Only main thread initializes these, pthreads copy them over at thread worker init time (in pthread-main.js) +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.asmGlobalArg['Atomics'] = Atomics; +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, "_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, "_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_glCompileShader": _emscripten_glCompileShader, "_sysconf": _sysconf, "_utime": _utime, "_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, "_chroot": _chroot, "_glUniform4f": _glUniform4f, "_llvm_stacksave": _llvm_stacksave, "_emscripten_glUniform1i": _emscripten_glUniform1i, "_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, "__pthread_testcancel_js": __pthread_testcancel_js, "_emscripten_glVertexAttrib4fv": _emscripten_glVertexAttrib4fv, "_emscripten_glFramebufferTexture2D": _emscripten_glFramebufferTexture2D, "_emscripten_glTexParameteriv": _emscripten_glTexParameteriv, "_unsetenv": _unsetenv, "_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, "_emscripten_get_now_is_monotonic": _emscripten_get_now_is_monotonic, "_emscripten_glUniform2i": _emscripten_glUniform2i, "_emscripten_glUniform2f": _emscripten_glUniform2f, "_emscripten_glTexParameterfv": _emscripten_glTexParameterfv, "_emscripten_glIsBuffer": _emscripten_glIsBuffer, "_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_asm_const_v": _emscripten_asm_const_v, "_emscripten_glFlush": _emscripten_glFlush, "_emscripten_glBlendFunc": _emscripten_glBlendFunc, "_emscripten_glCheckFramebufferStatus": _emscripten_glCheckFramebufferStatus, "_emscripten_glGenerateMipmap": _emscripten_glGenerateMipmap, "_emscripten_glGetError": _emscripten_glGetError, "_emscripten_glClearDepthf": _emscripten_glClearDepthf, "_pthread_self": _pthread_self, "_emscripten_glBufferData": _emscripten_glBufferData, "_emscripten_glUniform3i": _emscripten_glUniform3i, "_emscripten_glGenRenderbuffers": _emscripten_glGenRenderbuffers, "_emscripten_glRotatef": _emscripten_glRotatef, "_emscripten_glDeleteShader": _emscripten_glDeleteShader, "_glEnable": _glEnable, "_emscripten_glGetShaderiv": _emscripten_glGetShaderiv, "_emscripten_glReadPixels": _emscripten_glReadPixels, "_emscripten_glMatrixMode": _emscripten_glMatrixMode, "_glGetString": _glGetString, "_emscripten_glClearStencil": _emscripten_glClearStencil, "_emscripten_glGetUniformLocation": _emscripten_glGetUniformLocation, "emscriptenWebGLGet": emscriptenWebGLGet, "_emscripten_glEnableVertexAttribArray": _emscripten_glEnableVertexAttribArray, "__register_pthread_ptr": __register_pthread_ptr, "_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_glStencilFuncSeparate": _emscripten_glStencilFuncSeparate, "_emscripten_glVertexAttrib3f": _emscripten_glVertexAttrib3f, "_time": _time, "_gettimeofday": _gettimeofday, "_emscripten_glVertexAttrib1f": _emscripten_glVertexAttrib1f, "_emscripten_glGetFramebufferAttachmentParameteriv": _emscripten_glGetFramebufferAttachmentParameteriv, "_emscripten_glBlendEquationSeparate": _emscripten_glBlendEquationSeparate, "_exit": _exit, "_emscripten_glEnableClientState": _emscripten_glEnableClientState, "__spawn_thread": __spawn_thread, "_emscripten_glUniform4i": _emscripten_glUniform4i, "_emscripten_conditional_set_current_thread_status_js": _emscripten_conditional_set_current_thread_status_js, "_putenv": _putenv, "_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, "_fpathconf": _fpathconf, "_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_glFrustum": _emscripten_glFrustum, "_emscripten_is_main_runtime_thread": _emscripten_is_main_runtime_thread, "_emscripten_glShaderBinary": _emscripten_glShaderBinary, "_emscripten_glDrawElements": _emscripten_glDrawElements, "_glVertexAttribPointer": _glVertexAttribPointer, "_emscripten_get_num_gamepads": _emscripten_get_num_gamepads, "___buildEnvironment": ___buildEnvironment, "_glCompressedTexImage2D": _glCompressedTexImage2D, "_utimes": _utimes, "_emscripten_glUniform1iv": _emscripten_glUniform1iv, "_emscripten_glGetVertexAttribPointerv": _emscripten_glGetVertexAttribPointerv, "_glClearDepthf": _glClearDepthf, "_emscripten_glCompressedTexSubImage2D": _emscripten_glCompressedTexSubImage2D, "emscriptenWebGLGetUniform": emscriptenWebGLGetUniform, "_tzset": _tzset, "_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, "___clock_gettime": ___clock_gettime, "_emscripten_glDrawElementsInstanced": _emscripten_glDrawElementsInstanced, "_emscripten_glVertexAttrib4f": _emscripten_glVertexAttrib4f, "_glDrawArrays": _glDrawArrays, "_emscripten_glTexSubImage2D": _emscripten_glTexSubImage2D, "_clearenv": _clearenv, "_emscripten_glPixelStorei": _emscripten_glPixelStorei, "_glCompileShader": _glCompileShader, "_emscripten_get_pointerlock_status": _emscripten_get_pointerlock_status, "_emscripten_memcpy_big": _emscripten_memcpy_big, "_emscripten_glUniformMatrix3fv": _emscripten_glUniformMatrix3fv, "_emscripten_glColorPointer": _emscripten_glColorPointer, "_getenv": _getenv, "_emscripten_glDepthRange": _emscripten_glDepthRange, "_emscripten_glGetBufferParameteriv": _emscripten_glGetBufferParameteriv, "_emscripten_glFinish": _emscripten_glFinish, "_emscripten_glRenderbufferStorage": _emscripten_glRenderbufferStorage, "_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, "_emscripten_futex_wake": _emscripten_futex_wake, "_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, "__cleanup_thread": __cleanup_thread, "_glDeleteBuffers": _glDeleteBuffers, "_glBufferData": _glBufferData, "_glTexImage2D": _glTexImage2D, "_emscripten_set_current_thread_status_js": _emscripten_set_current_thread_status_js, "_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_glShaderSource": _emscripten_glShaderSource, "_emscripten_set_gamepadconnected_callback": _emscripten_set_gamepadconnected_callback, "_emscripten_syscall": _emscripten_syscall, "_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_futex_wait": _emscripten_futex_wait, "_emscripten_glDeleteFramebuffers": _emscripten_glDeleteFramebuffers, "_glGetShaderiv": _glGetShaderiv, "_emscripten_glVertexAttrib3fv": _emscripten_glVertexAttrib3fv, "_glGetUniformLocation": _glGetUniformLocation, "_emscripten_glGetInfoLogARB": _emscripten_glGetInfoLogARB, "_emscripten_request_pointerlock": _emscripten_request_pointerlock, "_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, "___pthread_setcancelstate": ___pthread_setcancelstate, "_glBindAttribLocation": _glBindAttribLocation, "_glPixelStorei": _glPixelStorei, "_emscripten_glColorMask": _emscripten_glColorMask, "_emscripten_glLinkProgram": _emscripten_glLinkProgram, "_emscripten_glBlendEquation": _emscripten_glBlendEquation, "_emscripten_glIsTexture": _emscripten_glIsTexture, "_confstr": _confstr, "_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, "_emscripten_glBufferSubData": _emscripten_glBufferSubData, "_glfwSwapBuffers": _glfwSwapBuffers, "_pthread_create": _pthread_create, "_emscripten_set_main_loop": _emscripten_set_main_loop, "_emscripten_glGetProgramInfoLog": _emscripten_glGetProgramInfoLog, "_glfwWindowHint": _glfwWindowHint, "_pthread_getschedparam": _pthread_getschedparam, "_emscripten_glIsShader": _emscripten_glIsShader, "_emscripten_glUniform4fv": _emscripten_glUniform4fv, "_emscripten_glGenVertexArrays": _emscripten_glGenVertexArrays, "_emscripten_glDrawArrays": _emscripten_glDrawArrays, "_emscripten_glCompressedTexImage2D": _emscripten_glCompressedTexImage2D, "_emscripten_glClearColor": _emscripten_glClearColor, "_glfwSetCursorEnterCallback": _glfwSetCursorEnterCallback, "_emscripten_glCreateProgram": _emscripten_glCreateProgram, "_emscripten_glCopyTexSubImage2D": _emscripten_glCopyTexSubImage2D, "_emscripten_glGetAttribLocation": _emscripten_glGetAttribLocation, "_glTexParameteri": _glTexParameteri, "_emscripten_glBindBuffer": _emscripten_glBindBuffer, "_atexit": _atexit, "_emscripten_glGetFloatv": _emscripten_glGetFloatv, "_emscripten_glDetachShader": _emscripten_glDetachShader, "_glClearColor": _glClearColor, "_glfwSetCursorPosCallback": _glfwSetCursorPosCallback, "_setenv": _setenv, "_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; @@ -6873,7 +11022,6 @@ var asm = (function(global, env, buffer) { 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; @@ -6884,6 +11032,7 @@ var asm = (function(global, env, buffer) { 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; @@ -6896,25 +11045,26 @@ var asm = (function(global, env, buffer) { 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_glCompileShader=env._emscripten_glCompileShader; + var _sysconf=env._sysconf; + var _utime=env._utime; 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 _chroot=env._chroot; 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_glLoadMatrixf=env._emscripten_glLoadMatrixf; var _emscripten_glGenBuffers=env._emscripten_glGenBuffers; var _emscripten_glDeleteObjectARB=env._emscripten_glDeleteObjectARB; var _glfwSetWindowSizeCallback=env._glfwSetWindowSizeCallback; @@ -6926,9 +11076,11 @@ var asm = (function(global, env, buffer) { var _emscripten_glIsFramebuffer=env._emscripten_glIsFramebuffer; var _emscripten_glIsEnabled=env._emscripten_glIsEnabled; var _emscripten_glScissor=env._emscripten_glScissor; + var __pthread_testcancel_js=env.__pthread_testcancel_js; var _emscripten_glVertexAttrib4fv=env._emscripten_glVertexAttrib4fv; var _emscripten_glFramebufferTexture2D=env._emscripten_glFramebufferTexture2D; var _emscripten_glTexParameteriv=env._emscripten_glTexParameteriv; + var _unsetenv=env._unsetenv; var _emscripten_glBindProgramARB=env._emscripten_glBindProgramARB; var _emscripten_glStencilOpSeparate=env._emscripten_glStencilOpSeparate; var _emscripten_glFramebufferRenderbuffer=env._emscripten_glFramebufferRenderbuffer; @@ -6936,13 +11088,14 @@ var asm = (function(global, env, buffer) { var _glfwSetErrorCallback=env._glfwSetErrorCallback; var _glfwDefaultWindowHints=env._glfwDefaultWindowHints; var _glfwDestroyWindow=env._glfwDestroyWindow; - var _emscripten_glVertexAttrib1f=env._emscripten_glVertexAttrib1f; + var ___syscall146=env.___syscall146; 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_glIsBuffer=env._emscripten_glIsBuffer; var _emscripten_glUniformMatrix2fv=env._emscripten_glUniformMatrix2fv; var _glGetProgramInfoLog=env._glGetProgramInfoLog; var _glfwSetScrollCallback=env._glfwSetScrollCallback; @@ -6967,17 +11120,21 @@ var asm = (function(global, env, buffer) { var _glDepthFunc=env._glDepthFunc; var _emscripten_glClientActiveTexture=env._emscripten_glClientActiveTexture; var _emscripten_glVertexAttrib2f=env._emscripten_glVertexAttrib2f; + var _emscripten_asm_const_v=env._emscripten_asm_const_v; 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 _pthread_self=env._pthread_self; var _emscripten_glBufferData=env._emscripten_glBufferData; var _emscripten_glUniform3i=env._emscripten_glUniform3i; + var _emscripten_glGenRenderbuffers=env._emscripten_glGenRenderbuffers; var _emscripten_glRotatef=env._emscripten_glRotatef; var _emscripten_glDeleteShader=env._emscripten_glDeleteShader; var _glEnable=env._glEnable; + var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; var _emscripten_glReadPixels=env._emscripten_glReadPixels; var _emscripten_glMatrixMode=env._emscripten_glMatrixMode; var _glGetString=env._glGetString; @@ -6985,7 +11142,7 @@ var asm = (function(global, env, buffer) { var _emscripten_glGetUniformLocation=env._emscripten_glGetUniformLocation; var emscriptenWebGLGet=env.emscriptenWebGLGet; var _emscripten_glEnableVertexAttribArray=env._emscripten_glEnableVertexAttribArray; - var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; + var __register_pthread_ptr=env.__register_pthread_ptr; var _emscripten_get_now=env._emscripten_get_now; var _emscripten_glNormalPointer=env._emscripten_glNormalPointer; var _glAttachShader=env._glAttachShader; @@ -6994,41 +11151,49 @@ var asm = (function(global, env, buffer) { 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_glStencilFuncSeparate=env._emscripten_glStencilFuncSeparate; var _emscripten_glVertexAttrib3f=env._emscripten_glVertexAttrib3f; var _time=env._time; - var ___syscall146=env.___syscall146; + var _gettimeofday=env._gettimeofday; + 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 __spawn_thread=env.__spawn_thread; var _emscripten_glUniform4i=env._emscripten_glUniform4i; + var _emscripten_conditional_set_current_thread_status_js=env._emscripten_conditional_set_current_thread_status_js; + var _putenv=env._putenv; 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 _fpathconf=env._fpathconf; 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_glFrustum=env._emscripten_glFrustum; + var _emscripten_is_main_runtime_thread=env._emscripten_is_main_runtime_thread; 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 ___buildEnvironment=env.___buildEnvironment; var _glCompressedTexImage2D=env._glCompressedTexImage2D; + var _utimes=env._utimes; 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 _tzset=env._tzset; var _emscripten_glDeleteVertexArrays=env._emscripten_glDeleteVertexArrays; var _glfwSetWindowShouldClose=env._glfwSetWindowShouldClose; var _emscripten_glUniform1fv=env._emscripten_glUniform1fv; @@ -7039,29 +11204,33 @@ var asm = (function(global, env, buffer) { var _emscripten_glHint=env._emscripten_glHint; var _glfwSetCharCallback=env._glfwSetCharCallback; var emscriptenWebGLGetVertexAttrib=env.emscriptenWebGLGetVertexAttrib; - var _emscripten_glLoadMatrixf=env._emscripten_glLoadMatrixf; + var _glGetFloatv=env._glGetFloatv; var _emscripten_glDeleteProgram=env._emscripten_glDeleteProgram; var _emscripten_glDeleteRenderbuffers=env._emscripten_glDeleteRenderbuffers; + var ___clock_gettime=env.___clock_gettime; 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 _clearenv=env._clearenv; var _emscripten_glPixelStorei=env._emscripten_glPixelStorei; var _glCompileShader=env._glCompileShader; var _emscripten_get_pointerlock_status=env._emscripten_get_pointerlock_status; + var _emscripten_memcpy_big=env._emscripten_memcpy_big; var _emscripten_glUniformMatrix3fv=env._emscripten_glUniformMatrix3fv; var _emscripten_glColorPointer=env._emscripten_glColorPointer; + var _getenv=env._getenv; 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_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + 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 _emscripten_futex_wake=env._emscripten_futex_wake; var _glFrontFace=env._glFrontFace; var _emscripten_glGetObjectParameterivARB=env._emscripten_glGetObjectParameterivARB; var _emscripten_exit_pointerlock=env._emscripten_exit_pointerlock; @@ -7071,10 +11240,11 @@ var asm = (function(global, env, buffer) { var _emscripten_glStencilFunc=env._emscripten_glStencilFunc; var _abort=env._abort; var _emscripten_glGetUniformiv=env._emscripten_glGetUniformiv; + var __cleanup_thread=env.__cleanup_thread; var _glDeleteBuffers=env._glDeleteBuffers; var _glBufferData=env._glBufferData; var _glTexImage2D=env._glTexImage2D; - var _emscripten_glGetShaderiv=env._emscripten_glGetShaderiv; + var _emscripten_set_current_thread_status_js=env._emscripten_set_current_thread_status_js; var _glfwSetKeyCallback=env._glfwSetKeyCallback; var _emscripten_glGenFramebuffers=env._emscripten_glGenFramebuffers; var _emscripten_glUniformMatrix4fv=env._emscripten_glUniformMatrix4fv; @@ -7085,8 +11255,9 @@ var asm = (function(global, env, buffer) { var _emscripten_glBindFramebuffer=env._emscripten_glBindFramebuffer; var _emscripten_glIsRenderbuffer=env._emscripten_glIsRenderbuffer; var _glfwGetTime=env._glfwGetTime; - var _emscripten_glRenderbufferStorage=env._emscripten_glRenderbufferStorage; + var _emscripten_glShaderSource=env._emscripten_glShaderSource; var _emscripten_set_gamepadconnected_callback=env._emscripten_set_gamepadconnected_callback; + var _emscripten_syscall=env._emscripten_syscall; var _emscripten_glGetVertexAttribiv=env._emscripten_glGetVertexAttribiv; var _emscripten_glBindVertexArray=env._emscripten_glBindVertexArray; var _emscripten_glDrawArraysInstanced=env._emscripten_glDrawArraysInstanced; @@ -7096,18 +11267,19 @@ var asm = (function(global, env, buffer) { var _emscripten_glDeleteTextures=env._emscripten_glDeleteTextures; var _emscripten_glBindRenderbuffer=env._emscripten_glBindRenderbuffer; var _glfwGetPrimaryMonitor=env._glfwGetPrimaryMonitor; - var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; + 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_futex_wait=env._emscripten_futex_wait; 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 _emscripten_request_pointerlock=env._emscripten_request_pointerlock; var _glClear=env._glClear; var _glGenTextures=env._glGenTextures; var _emscripten_glDisable=env._emscripten_glDisable; @@ -7117,12 +11289,14 @@ var asm = (function(global, env, buffer) { var _emscripten_glUniform3f=env._emscripten_glUniform3f; var _emscripten_glGetShaderInfoLog=env._emscripten_glGetShaderInfoLog; var _emscripten_glStencilOp=env._emscripten_glStencilOp; + var ___pthread_setcancelstate=env.___pthread_setcancelstate; 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 _confstr=env._confstr; var _emscripten_glGetProgramiv=env._emscripten_glGetProgramiv; var _emscripten_glVertexAttrib1fv=env._emscripten_glVertexAttrib1fv; var _emscripten_glBindTexture=env._emscripten_glBindTexture; @@ -7132,29 +11306,42 @@ var asm = (function(global, env, buffer) { var _emscripten_glDrawRangeElements=env._emscripten_glDrawRangeElements; var ___syscall54=env.___syscall54; var _emscripten_glDeleteBuffers=env._emscripten_glDeleteBuffers; - var _glfwWaitEvents=env._glfwWaitEvents; + var _emscripten_glBufferSubData=env._emscripten_glBufferSubData; 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 _pthread_getschedparam=env._pthread_getschedparam; 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 _glfwSetCursorEnterCallback=env._glfwSetCursorEnterCallback; var _emscripten_glCreateProgram=env._emscripten_glCreateProgram; var _emscripten_glCopyTexSubImage2D=env._emscripten_glCopyTexSubImage2D; + var _emscripten_glGetAttribLocation=env._emscripten_glGetAttribLocation; var _glTexParameteri=env._glTexParameteri; var _emscripten_glBindBuffer=env._emscripten_glBindBuffer; + var _atexit=env._atexit; 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 _setenv=env._setenv; var _emscripten_glCopyTexImage2D=env._emscripten_glCopyTexImage2D; var _emscripten_glTexImage2D=env._emscripten_glTexImage2D; + var Atomics_load=global.Atomics.load; + var Atomics_store=global.Atomics.store; + var Atomics_exchange=global.Atomics.exchange; + var Atomics_compareExchange=global.Atomics.compareExchange; + var Atomics_add=global.Atomics.add; + var Atomics_sub=global.Atomics.sub; + var Atomics_and=global.Atomics.and; + var Atomics_or=global.Atomics.or; + var Atomics_xor=global.Atomics.xor; var tempFloat = 0.0; // EMSCRIPTEN_START_FUNCS @@ -7203,7 +11390,7 @@ function getTempRet0() { function _InitPhysics() { var label = 0, sp = 0; sp = STACKTOP; - (_pthread_create((14000|0),(0|0),(2|0),(0|0))|0); + (_pthread_create((14280|0),(0|0),(2|0),(0|0))|0); return; } function _PhysicsLoop($0) { @@ -7211,53 +11398,53 @@ function _PhysicsLoop($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; + HEAP32[3571] = 1; + HEAPF64[1747] = 0.0; _InitTimer(); - $1 = HEAP32[3501]|0; + $1 = HEAP32[3571]|0; $2 = ($1|0)==(0); if (!($2)) { while(1) { $3 = (+_GetCurrentTime()); - HEAPF64[1713] = $3; - $4 = +HEAPF64[1714]; + HEAPF64[1748] = $3; + $4 = +HEAPF64[1749]; $5 = $3 - $4; - HEAPF64[1715] = $5; - $6 = +HEAPF64[1712]; + HEAPF64[1750] = $5; + $6 = +HEAPF64[1747]; $7 = $5 + $6; - HEAPF64[1712] = $7; + HEAPF64[1747] = $7; _MathClamp(); - $$pr = +HEAPF64[1712]; + $$pr = +HEAPF64[1747]; $8 = !($$pr >= 0.016666666666666666); if (!($8)) { while(1) { _PhysicsStep(); - $9 = +HEAPF64[1715]; - $10 = +HEAPF64[1712]; + $9 = +HEAPF64[1750]; + $10 = +HEAPF64[1747]; $11 = $10 - $9; - HEAPF64[1712] = $11; + HEAPF64[1747] = $11; $12 = !($11 >= 0.016666666666666666); if ($12) { break; } } } - $13 = +HEAPF64[1713]; - HEAPF64[1714] = $13; - $14 = HEAP32[3501]|0; + $13 = +HEAPF64[1748]; + HEAPF64[1749] = $13; + $14 = HEAP32[3571]|0; $15 = ($14|0)==(0); if ($15) { break; } } } - $16 = HEAP32[3568]|0; + $16 = HEAP32[3638]|0; $$0912 = (($16) + -1)|0; $17 = ($$0912|0)>(-1); if ($17) { $$0913 = $$0912; while(1) { - $20 = (14276 + ($$0913<<2)|0); + $20 = (14556 + ($$0913<<2)|0); $21 = HEAP32[$20>>2]|0; _DestroyPhysicsManifold($21); $$09 = (($$0913) + -1)|0; @@ -7269,7 +11456,7 @@ function _PhysicsLoop($0) { } } } - $18 = HEAP32[3503]|0; + $18 = HEAP32[3573]|0; $$010 = (($18) + -1)|0; $19 = ($$010|0)>(-1); if ($19) { @@ -7278,7 +11465,7 @@ function _PhysicsLoop($0) { return (0|0); } while(1) { - $23 = (14016 + ($$011<<2)|0); + $23 = (14296 + ($$011<<2)|0); $24 = HEAP32[$23>>2]|0; _DestroyPhysicsBody($24); $$0 = (($$011) + -1)|0; @@ -7296,8 +11483,8 @@ function _SetPhysicsGravity($0,$1) { $1 = +$1; var label = 0, sp = 0; sp = STACKTOP; - HEAPF32[7666] = $0; - HEAPF32[2] = $1; + HEAPF32[7738] = $0; + HEAPF32[5] = $1; return; } function _CreatePhysicsBodyPolygon($0,$1,$2,$3) { @@ -7321,10 +11508,10 @@ function _CreatePhysicsBodyPolygon($0,$1,$2,$3) { $5 = sp + 8|0; $6 = sp; $7 = (_malloc(500)|0); - $8 = HEAP32[3502]|0; + $8 = HEAP32[3572]|0; $9 = (($8) + 500)|0; - HEAP32[3502] = $9; - $10 = HEAP32[3503]|0; + HEAP32[3572] = $9; + $10 = HEAP32[3573]|0; $11 = ($10|0)==(0); $$0116149 = 0; L1: while(1) { @@ -7335,7 +11522,7 @@ function _CreatePhysicsBodyPolygon($0,$1,$2,$3) { $$0119144 = 0; } while(1) { - $14 = (14016 + ($$0119144<<2)|0); + $14 = (14296 + ($$0119144<<2)|0); $15 = HEAP32[$14>>2]|0; $16 = HEAP32[$15>>2]|0; $17 = ($16|0)==($$0116149|0); @@ -7531,11 +11718,11 @@ function _CreatePhysicsBodyPolygon($0,$1,$2,$3) { HEAP32[$118>>2] = 0; $119 = ((($7)) + 80|0); HEAP32[$119>>2] = 0; - $120 = HEAP32[3503]|0; - $121 = (14016 + ($120<<2)|0); + $120 = HEAP32[3573]|0; + $121 = (14296 + ($120<<2)|0); HEAP32[$121>>2] = $7; $122 = (($120) + 1)|0; - HEAP32[3503] = $122; + HEAP32[3573] = $122; STACKTOP = sp;return ($7|0); } function _MathCrossVector2($0,$1) { @@ -8188,16 +12375,16 @@ function _DestroyPhysicsBody($0) { return; } $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[3503]|0; + $3 = HEAP32[3573]|0; $4 = ($3|0)==(0); L4: do { if ($4) { $$021 = -1; } else { - $5 = HEAP32[3503]|0; + $5 = HEAP32[3573]|0; $$02023 = 0; while(1) { - $6 = (14016 + ($$02023<<2)|0); + $6 = (14296 + ($$02023<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==($2|0); @@ -8216,24 +12403,24 @@ function _DestroyPhysicsBody($0) { } } } while(0); - $12 = (14016 + ($$021<<2)|0); + $12 = (14296 + ($$021<<2)|0); $13 = HEAP32[$12>>2]|0; _free($13); - $14 = HEAP32[3502]|0; + $14 = HEAP32[3572]|0; $15 = (($14) + -500)|0; - HEAP32[3502] = $15; + HEAP32[3572] = $15; HEAP32[$12>>2] = 0; - $16 = HEAP32[3503]|0; + $16 = HEAP32[3573]|0; $17 = ($$021>>>0)<($16>>>0); if ($17) { - $18 = HEAP32[3503]|0; + $18 = HEAP32[3573]|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); + $24 = (14296 + ($$022<<2)|0); + $25 = (14296 + ($20<<2)|0); $26 = HEAP32[$25>>2]|0; HEAP32[$24>>2] = $26; } @@ -8249,7 +12436,7 @@ function _DestroyPhysicsBody($0) { $$lcssa = $16; } $19 = (($$lcssa) + -1)|0; - HEAP32[3503] = $19; + HEAP32[3573] = $19; return; } function _TriangleBarycenter($0,$1,$2,$3) { @@ -8321,20 +12508,20 @@ function _MathNormalize($0) { function _GetPhysicsBodiesCount() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[3503]|0; + $0 = HEAP32[3573]|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; + $1 = HEAP32[3573]|0; $2 = ($1>>>0)>($0>>>0); if (!($2)) { $$0 = 0; return ($$0|0); } - $3 = (14016 + ($0<<2)|0); + $3 = (14296 + ($0<<2)|0); $4 = HEAP32[$3>>2]|0; $$0 = $4; return ($$0|0); @@ -8343,11 +12530,11 @@ 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; + $1 = HEAP32[3573]|0; $2 = ($1>>>0)>($0>>>0); L1: do { if ($2) { - $3 = (14016 + ($0<<2)|0); + $3 = (14296 + ($0<<2)|0); $4 = HEAP32[$3>>2]|0; $5 = ($4|0)==(0|0); if ($5) { @@ -8474,20 +12661,20 @@ 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; + $0 = HEAP32[3573]|0; $$01620 = (($0) + -1)|0; $1 = ($$01620|0)>(-1); if ($1) { $$01621 = $$01620; while(1) { - $4 = (14016 + ($$01621<<2)|0); + $4 = (14296 + ($$01621<<2)|0); $5 = HEAP32[$4>>2]|0; $6 = ($5|0)==(0|0); if (!($6)) { _free($5); - $8 = HEAP32[3502]|0; + $8 = HEAP32[3572]|0; $9 = (($8) + -500)|0; - HEAP32[3502] = $9; + HEAP32[3572] = $9; } $$016 = (($$01621) + -1)|0; $7 = ($$016|0)>(-1); @@ -8498,25 +12685,25 @@ function _ResetPhysics() { } } } - HEAP32[3503] = 0; - $2 = HEAP32[3568]|0; + HEAP32[3573] = 0; + $2 = HEAP32[3638]|0; $$018 = (($2) + -1)|0; $3 = ($$018|0)>(-1); if ($3) { $$019 = $$018; } else { - HEAP32[3568] = 0; + HEAP32[3638] = 0; return; } while(1) { - $10 = (14276 + ($$019<<2)|0); + $10 = (14556 + ($$019<<2)|0); $11 = HEAP32[$10>>2]|0; $12 = ($11|0)==(0|0); if (!($12)) { _free($11); - $14 = HEAP32[3502]|0; + $14 = HEAP32[3572]|0; $15 = (($14) + -56)|0; - HEAP32[3502] = $15; + HEAP32[3572] = $15; } $$0 = (($$019) + -1)|0; $13 = ($$0|0)>(-1); @@ -8526,176 +12713,193 @@ function _ResetPhysics() { break; } } - HEAP32[3568] = 0; + HEAP32[3638] = 0; return; } function _ClosePhysics() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - HEAP32[3501] = 0; - $0 = HEAP32[3500]|0; + HEAP32[3571] = 0; + $0 = HEAP32[3570]|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; + var $$byval_copy = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0.0, $16 = 0, $17 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0.0, label = 0; + var 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; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $$byval_copy = sp + 8|0; + $0 = sp; _SetConfigFlags(32); - _InitWindow(800,450,3352); - _SetTargetFPS(60); - $10 = (_MeasureText(3383,30)|0); - $11 = (800 - ($10))|0; - $12 = (($11) + -10)|0; + $1 = HEAP32[2]|0; + $2 = HEAP32[3]|0; + _InitWindow($1,$2,3244); + $3 = HEAP32[2]|0; + $4 = (_MeasureText(3275,30)|0); + $5 = (($3) + -10)|0; + $6 = (($5) - ($4))|0; + HEAP32[7735] = $6; _InitPhysics(); _SetPhysicsGravity(0.0,0.0); - HEAPF32[$0>>2] = 400.0; - $13 = ((($0)) + 4|0); - HEAPF32[$13>>2] = 225.0; + $7 = HEAP32[2]|0; + $8 = (($7|0) / 2)&-1; + $9 = (+($8|0)); + HEAPF32[$0>>2] = $9; + $10 = ((($0)) + 4|0); + $11 = HEAP32[3]|0; + $12 = (($11|0) / 2)&-1; + $13 = (+($12|0)); + HEAPF32[$10>>2] = $13; $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; + ;HEAP32[$$byval_copy>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[$0+4>>2]|0; + $17 = (_CreatePhysicsBodyPolygon($$byval_copy,$15,$16,10.0)|0); + HEAP32[7736] = $17; + _emscripten_set_main_loop((1|0),0,1); + _ClosePhysics(); + _CloseWindow(); + STACKTOP = sp;return 0; +} +function _UpdateDrawFrame() { + var $$03840 = 0, $$03941 = 0, $$046 = 0, $$046$in = 0, $$byval_copy3 = 0, $$byval_copy4 = 0, $$byval_copy5 = 0, $0 = 0, $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0.0, $14 = 0, $15 = 0, $16 = 0, $17 = 0.0, $18 = 0, $19 = 0.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.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, $6 = 0, $7 = 0, $8 = 0, $9 = 0; + var $exitcond = 0, $exitcond49 = 0, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 80|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(80|0); + $$byval_copy5 = sp + 64|0; + $$byval_copy4 = sp + 56|0; + $$byval_copy3 = sp + 48|0; + $0 = sp + 40|0; + $1 = sp + 32|0; + $2 = sp + 76|0; + $3 = sp + 24|0; + $4 = sp + 8|0; + $5 = sp + 72|0; + $6 = sp + 20|0; + $7 = sp + 16|0; + $8 = sp; + $9 = (_IsKeyPressed(82)|0); + $10 = ($9|0)==(0); + if (!($10)) { + _ResetPhysics(); + $11 = HEAP32[2]|0; + $12 = (($11|0) / 2)&-1; + $13 = (+($12|0)); + HEAPF32[$0>>2] = $13; + $14 = ((($0)) + 4|0); + $15 = HEAP32[3]|0; + $16 = (($15|0) / 2)&-1; + $17 = (+($16|0)); + HEAPF32[$14>>2] = $17; + $18 = (_GetRandomValue(80,200)|0); + $19 = (+($18|0)); + $20 = (_GetRandomValue(3,8)|0); + ;HEAP32[$$byval_copy5>>2]=HEAP32[$0>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$0+4>>2]|0; + $21 = (_CreatePhysicsBodyPolygon($$byval_copy5,$19,$20,10.0)|0); + HEAP32[7736] = $21; + } + $22 = (_IsMouseButtonPressed(0)|0); + $23 = ($22|0)==(0); + if (!($23)) { + $24 = (_GetPhysicsBodiesCount()|0); + $25 = ($24|0)>(0); + if ($25) { + $$046$in = $24; + while(1) { + $$046 = (($$046$in) + -1)|0; + $26 = (_GetPhysicsBody($$046)|0); + $27 = ($26|0)==(0|0); + if (!($27)) { + _GetMousePosition($1); + $29 = ((($26)) + 56|0); + $30 = +HEAPF32[$29>>2]; + $31 = 10.0 / $30; + ;HEAP32[$$byval_copy5>>2]=HEAP32[$1>>2]|0;HEAP32[$$byval_copy5+4>>2]=HEAP32[$1+4>>2]|0; + _PhysicsShatter($26,$$byval_copy5,$31); + } + $28 = ($$046$in|0)>(1); + if ($28) { + $$046$in = $$046; + } else { + break; + } + } + } } - $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; + _BeginDrawing(); + HEAP8[$2>>0] = 0; + $32 = ((($2)) + 1|0); + HEAP8[$32>>0] = 0; + $33 = ((($2)) + 2|0); + HEAP8[$33>>0] = 0; + $34 = ((($2)) + 3|0); + HEAP8[$34>>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; + _ClearBackground($$byval_copy5); + $35 = (_GetPhysicsBodiesCount()|0); + $36 = ($35|0)>(0); + if ($36) { + $37 = ((($5)) + 1|0); + $38 = ((($5)) + 2|0); + $39 = ((($5)) + 3|0); + $$03941 = 0; + while(1) { + $46 = (_GetPhysicsBody($$03941)|0); + $47 = (_GetPhysicsShapeVerticesCount($$03941)|0); + $48 = ($47|0)>(0); + if ($48) { + $$03840 = 0; 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 { + _GetPhysicsShapeVertex($3,$46,$$03840); + $50 = (($$03840) + 1)|0; + $51 = ($50|0)<($47|0); + $52 = $51 ? $50 : 0; + _GetPhysicsShapeVertex($4,$46,$52); + HEAP8[$5>>0] = 0; + HEAP8[$37>>0] = -28; + HEAP8[$38>>0] = 48; + HEAP8[$39>>0] = -1; + ;HEAP32[$$byval_copy3>>2]=HEAP32[$3>>2]|0;HEAP32[$$byval_copy3+4>>2]=HEAP32[$3+4>>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; + _DrawLineV($$byval_copy3,$$byval_copy4,$$byval_copy5); + $exitcond = ($50|0)==($47|0); + if ($exitcond) { break; + } else { + $$03840 = $50; } } } - } - _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; + $49 = (($$03941) + 1)|0; + $exitcond49 = ($49|0)==($35|0); + if ($exitcond49) { + break; + } else { + $$03941 = $49; + } + } + } + HEAP32[$6>>2] = -1; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$6>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$6+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$6+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$6+3>>0]|0; + _DrawText(3282,10,10,10,$$byval_copy5); + $40 = HEAP32[7735]|0; + $41 = HEAP32[4]|0; + HEAP32[$7>>2] = -1; + ;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; + _DrawText(3275,$40,$41,30,$$byval_copy5); + $42 = HEAP32[7735]|0; + $43 = (($42) + 50)|0; + $44 = HEAP32[4]|0; + $45 = (($44) + -7)|0; + HEAP32[$8>>2] = -1; + ;HEAP8[$$byval_copy5>>0]=HEAP8[$8>>0]|0;HEAP8[$$byval_copy5+1>>0]=HEAP8[$8+1>>0]|0;HEAP8[$$byval_copy5+2>>0]=HEAP8[$8+2>>0]|0;HEAP8[$$byval_copy5+3>>0]=HEAP8[$8+3>>0]|0; + _DrawText(3359,$43,$45,10,$$byval_copy5); + _EndDrawing(); + STACKTOP = sp;return; } function _GetRandomNumber() { var $0 = 0, $1 = 0, label = 0, sp = 0; @@ -8710,7 +12914,7 @@ function _InitTimer() { $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetCurrentTime()); - HEAPF64[1714] = $1; + HEAPF64[1749] = $1; return; } function _GetCurrentTime() { @@ -8737,7 +12941,7 @@ function _GetCurrentTime() { function _MathClamp() { var $$sink = 0.0, $0 = 0.0, $1 = 0, $2 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = +HEAPF64[1712]; + $0 = +HEAPF64[1747]; $1 = $0 < 0.0; if ($1) { $$sink = 0.0; @@ -8749,7 +12953,7 @@ function _MathClamp() { return; } } - HEAPF64[1712] = $$sink; + HEAPF64[1747] = $$sink; return; } function _PhysicsStep() { @@ -8763,16 +12967,16 @@ function _PhysicsStep() { 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; + $0 = HEAP32[7737]|0; $1 = (($0) + 1)|0; - HEAP32[7665] = $1; - $2 = HEAP32[3568]|0; + HEAP32[7737] = $1; + $2 = HEAP32[3638]|0; $$0167 = (($2) + -1)|0; $3 = ($$0167|0)>(-1); if ($3) { $$0168 = $$0167; while(1) { - $6 = (14276 + ($$0168<<2)|0); + $6 = (14556 + ($$0168<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = ($7|0)==(0|0); if (!($8)) { @@ -8787,7 +12991,7 @@ function _PhysicsStep() { } } } - $4 = HEAP32[3503]|0; + $4 = HEAP32[3573]|0; $5 = ($4|0)==(0); if ($5) { $17 = $4; @@ -8795,7 +12999,7 @@ function _PhysicsStep() { } else { $$0125165 = 0; while(1) { - $11 = (14016 + ($$0125165<<2)|0); + $11 = (14296 + ($$0125165<<2)|0); $12 = HEAP32[$11>>2]|0; $13 = ((($12)) + 76|0); HEAP32[$13>>2] = 0; @@ -8807,24 +13011,24 @@ function _PhysicsStep() { break; } } - $$pr = HEAP32[3503]|0; + $$pr = HEAP32[3573]|0; $10 = ($$pr|0)==(0); if (!($10)) { $$0126163 = 0; while(1) { - $19 = (14016 + ($$0126163<<2)|0); + $19 = (14296 + ($$0126163<<2)|0); $20 = HEAP32[$19>>2]|0; $21 = ($20|0)==(0|0); if (!($21)) { $$0130160 = (($$0126163) + 1)|0; - $22 = HEAP32[3503]|0; + $22 = HEAP32[3573]|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); + $26 = (14296 + ($$0130161<<2)|0); $27 = HEAP32[$26>>2]|0; $28 = ($27|0)==(0|0); do { @@ -8930,7 +13134,7 @@ function _PhysicsStep() { } } while(0); $$0130 = (($$0130161) + 1)|0; - $29 = HEAP32[3503]|0; + $29 = HEAP32[3573]|0; $30 = ($$0130>>>0)<($29>>>0); if ($30) { $$0130161 = $$0130; @@ -8941,7 +13145,7 @@ function _PhysicsStep() { } } $97 = (($$0126163) + 1)|0; - $98 = HEAP32[3503]|0; + $98 = HEAP32[3573]|0; $99 = ($97>>>0)<($98>>>0); if ($99) { $$0126163 = $97; @@ -8956,10 +13160,10 @@ function _PhysicsStep() { if ((label|0) == 8) { $16 = ($17|0)==(0); if (!($16)) { - $18 = HEAP32[3503]|0; + $18 = HEAP32[3573]|0; $$0135158 = 0; while(1) { - $103 = (14016 + ($$0135158<<2)|0); + $103 = (14296 + ($$0135158<<2)|0); $104 = HEAP32[$103>>2]|0; $105 = ($104|0)==(0|0); if (!($105)) { @@ -8975,15 +13179,15 @@ function _PhysicsStep() { } } } - $100 = HEAP32[3568]|0; + $100 = HEAP32[3638]|0; $101 = ($100|0)==(0); if ($101) { $$0134155 = 0;$114 = 0; } else { - $102 = HEAP32[3568]|0; + $102 = HEAP32[3638]|0; $$0136156 = 0; while(1) { - $108 = (14276 + ($$0136156<<2)|0); + $108 = (14556 + ($$0136156<<2)|0); $109 = HEAP32[$108>>2]|0; $110 = ($109|0)==(0|0); if (!($110)) { @@ -9003,12 +13207,12 @@ function _PhysicsStep() { while(1) { if ((label|0) == 32) { label = 0; - $$pr172 = HEAP32[3568]|0; + $$pr172 = HEAP32[3638]|0; $$0134155 = $$0134155$ph;$114 = $$pr172; } $113 = ($114|0)==(0); if (!($113)) { - $115 = (14276 + ($$0134155<<2)|0); + $115 = (14556 + ($$0134155<<2)|0); $$0133152 = 0; while(1) { $120 = HEAP32[$115>>2]|0; @@ -9017,7 +13221,7 @@ function _PhysicsStep() { _IntegratePhysicsImpulses($120); } $122 = (($$0133152) + 1)|0; - $123 = HEAP32[3568]|0; + $123 = HEAP32[3638]|0; $124 = ($122>>>0)<($123>>>0); if ($124) { $$0133152 = $122; @@ -9035,13 +13239,13 @@ function _PhysicsStep() { label = 32; } } - $116 = HEAP32[3503]|0; + $116 = HEAP32[3573]|0; $117 = ($116|0)==(0); if (!($117)) { - $118 = HEAP32[3503]|0; + $118 = HEAP32[3573]|0; $$0131150 = 0; while(1) { - $128 = (14016 + ($$0131150<<2)|0); + $128 = (14296 + ($$0131150<<2)|0); $129 = HEAP32[$128>>2]|0; $130 = ($129|0)==(0|0); if (!($130)) { @@ -9056,13 +13260,13 @@ function _PhysicsStep() { } } } - $125 = HEAP32[3568]|0; + $125 = HEAP32[3638]|0; $126 = ($125|0)==(0); if (!($126)) { - $127 = HEAP32[3568]|0; + $127 = HEAP32[3638]|0; $$0129148 = 0; while(1) { - $136 = (14276 + ($$0129148<<2)|0); + $136 = (14556 + ($$0129148<<2)|0); $137 = HEAP32[$136>>2]|0; $138 = ($137|0)==(0|0); if (!($138)) { @@ -9077,15 +13281,15 @@ function _PhysicsStep() { } } } - $133 = HEAP32[3503]|0; + $133 = HEAP32[3573]|0; $134 = ($133|0)==(0); if ($134) { return; } - $135 = HEAP32[3503]|0; + $135 = HEAP32[3573]|0; $$0127147 = 0; while(1) { - $141 = (14016 + ($$0127147<<2)|0); + $141 = (14296 + ($$0127147<<2)|0); $142 = HEAP32[$141>>2]|0; $143 = ($142|0)==(0|0); if (!($143)) { @@ -9116,16 +13320,16 @@ function _DestroyPhysicsManifold($0) { return; } $2 = HEAP32[$0>>2]|0; - $3 = HEAP32[3568]|0; + $3 = HEAP32[3638]|0; $4 = ($3|0)==(0); L4: do { if ($4) { $$021 = -1; } else { - $5 = HEAP32[3568]|0; + $5 = HEAP32[3638]|0; $$02023 = 0; while(1) { - $6 = (14276 + ($$02023<<2)|0); + $6 = (14556 + ($$02023<<2)|0); $7 = HEAP32[$6>>2]|0; $8 = HEAP32[$7>>2]|0; $9 = ($8|0)==($2|0); @@ -9144,24 +13348,24 @@ function _DestroyPhysicsManifold($0) { } } } while(0); - $12 = (14276 + ($$021<<2)|0); + $12 = (14556 + ($$021<<2)|0); $13 = HEAP32[$12>>2]|0; _free($13); - $14 = HEAP32[3502]|0; + $14 = HEAP32[3572]|0; $15 = (($14) + -56)|0; - HEAP32[3502] = $15; + HEAP32[3572] = $15; HEAP32[$12>>2] = 0; - $16 = HEAP32[3568]|0; + $16 = HEAP32[3638]|0; $17 = ($$021>>>0)<($16>>>0); if ($17) { - $18 = HEAP32[3568]|0; + $18 = HEAP32[3638]|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); + $24 = (14556 + ($$022<<2)|0); + $25 = (14556 + ($20<<2)|0); $26 = HEAP32[$25>>2]|0; HEAP32[$24>>2] = $26; } @@ -9177,7 +13381,7 @@ function _DestroyPhysicsManifold($0) { $$lcssa = $16; } $19 = (($$lcssa) + -1)|0; - HEAP32[3568] = $19; + HEAP32[3638] = $19; return; } function _CreatePhysicsManifold($0,$1) { @@ -9187,10 +13391,10 @@ function _CreatePhysicsManifold($0,$1) { 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; + $3 = HEAP32[3572]|0; $4 = (($3) + 56)|0; - HEAP32[3502] = $4; - $5 = HEAP32[3568]|0; + HEAP32[3572] = $4; + $5 = HEAP32[3638]|0; $6 = ($5|0)==(0); $$04457 = 0; L1: while(1) { @@ -9201,7 +13405,7 @@ function _CreatePhysicsManifold($0,$1) { $$04755 = 0; } while(1) { - $9 = (14276 + ($$04755<<2)|0); + $9 = (14556 + ($$04755<<2)|0); $10 = HEAP32[$9>>2]|0; $11 = HEAP32[$10>>2]|0; $12 = ($11|0)==($$04457|0); @@ -9244,11 +13448,11 @@ function _CreatePhysicsManifold($0,$1) { 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); + $19 = HEAP32[3638]|0; + $20 = (14556 + ($19<<2)|0); HEAP32[$20>>2] = $2; $21 = (($19) + 1)|0; - HEAP32[3568] = $21; + HEAP32[3638] = $21; return ($2|0); } function _SolvePhysicsManifold($0) { @@ -9348,7 +13552,7 @@ function _IntegratePhysicsForces($0) { $8 = +HEAPF32[$7>>2]; $9 = $2 * $8; $10 = $9; - $11 = +HEAPF64[1715]; + $11 = +HEAPF64[1750]; $12 = $11 * 0.5; $13 = $10 * $12; $14 = ((($0)) + 16|0); @@ -9372,7 +13576,7 @@ function _IntegratePhysicsForces($0) { $30 = HEAP32[$29>>2]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = +HEAPF32[7666]; + $32 = +HEAPF32[7738]; $33 = $32; $34 = $12 * $33; $35 = +HEAPF32[$14>>2]; @@ -9380,7 +13584,7 @@ function _IntegratePhysicsForces($0) { $37 = $36 + $34; $38 = $37; HEAPF32[$14>>2] = $38; - $39 = +HEAPF32[2]; + $39 = +HEAPF32[5]; $40 = $39; $41 = $12 * $40; $42 = +HEAPF32[$24>>2]; @@ -9465,13 +13669,13 @@ function _InitializePhysicsManifolds($0) { $39 = ((($7)) + 20|0); $40 = ((($$byval_copy9)) + 4|0); $41 = ((($4)) + 4|0); - $42 = +HEAPF32[7666]; + $42 = +HEAPF32[7738]; $43 = $42; - $44 = +HEAPF64[1715]; + $44 = +HEAPF64[1750]; $45 = $43 * $44; $46 = $45; $47 = ((($5)) + 4|0); - $48 = +HEAPF32[2]; + $48 = +HEAPF32[5]; $49 = $48; $50 = $49 * $44; $51 = $50; @@ -9968,7 +14172,7 @@ function _IntegratePhysicsVelocity($0) { $4 = ((($0)) + 16|0); $5 = +HEAPF32[$4>>2]; $6 = $5; - $7 = +HEAPF64[1715]; + $7 = +HEAPF64[1750]; $8 = $6 * $7; $9 = ((($0)) + 8|0); $10 = +HEAPF32[$9>>2]; @@ -12389,7 +16593,7 @@ function _ProcessGestureEvent($0) { $moveDownPosition$byval_copy11 = sp; $1 = ((($0)) + 4|0); $2 = HEAP32[$1>>2]|0; - HEAP32[7668] = $2; + HEAP32[7740] = $2; $3 = ($2|0)<(2); $4 = HEAP32[$0>>2]|0; $5 = ($4|0)==(1); @@ -12402,7 +16606,7 @@ function _ProcessGestureEvent($0) { $92 = (($89) + 4)|0; $93 = $92; $94 = HEAP32[$93>>2]|0; - $95 = 13728; + $95 = 14008; $96 = $95; HEAP32[$96>>2] = $91; $97 = (($95) + 4)|0; @@ -12415,48 +16619,48 @@ function _ProcessGestureEvent($0) { $103 = (($100) + 4)|0; $104 = $103; $105 = HEAP32[$104>>2]|0; - $106 = 13768; + $106 = 14048; $107 = $106; HEAP32[$107>>2] = $102; $108 = (($106) + 4)|0; $109 = $108; HEAP32[$109>>2] = $105; - $110 = +HEAPF32[3442]; - $111 = +HEAPF32[3432]; + $110 = +HEAPF32[3512]; + $111 = +HEAPF32[3502]; $112 = $110 - $111; - HEAPF32[3444] = $112; - $113 = +HEAPF32[(13772)>>2]; - $114 = +HEAPF32[(13732)>>2]; + HEAPF32[3514] = $112; + $113 = +HEAPF32[(14052)>>2]; + $114 = +HEAPF32[(14012)>>2]; $115 = $113 - $114; - HEAPF32[(13780)>>2] = $115; - HEAP32[7667] = 4; + HEAPF32[(14060)>>2] = $115; + HEAP32[7739] = 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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14064>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14064+4>>2]|0; $116 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - HEAPF32[7673] = $116; - $117 = 13760; + HEAPF32[7745] = $116; + $117 = 14040; $118 = $117; $119 = HEAP32[$118>>2]|0; $120 = (($117) + 4)|0; $121 = $120; $122 = HEAP32[$121>>2]|0; - $123 = 13728; + $123 = 14008; $124 = $123; HEAP32[$124>>2] = $119; $125 = (($123) + 4)|0; $126 = $125; HEAP32[$126>>2] = $122; - $127 = 13784; + $127 = 14064; $128 = $127; $129 = HEAP32[$128>>2]|0; $130 = (($127) + 4)|0; $131 = $130; $132 = HEAP32[$131>>2]|0; - $133 = 13768; + $133 = 14048; $134 = $133; HEAP32[$134>>2] = $129; $135 = (($133) + 4)|0; @@ -12469,7 +16673,7 @@ function _ProcessGestureEvent($0) { $141 = (($138) + 4)|0; $142 = $141; $143 = HEAP32[$142>>2]|0; - $144 = 13760; + $144 = 14040; $145 = $144; HEAP32[$145>>2] = $140; $146 = (($144) + 4)|0; @@ -12482,27 +16686,27 @@ function _ProcessGestureEvent($0) { $152 = (($149) + 4)|0; $153 = $152; $154 = HEAP32[$153>>2]|0; - $155 = 13784; + $155 = 14064; $156 = $155; HEAP32[$156>>2] = $151; $157 = (($155) + 4)|0; $158 = $157; HEAP32[$158>>2] = $154; - $159 = +HEAPF32[3446]; - $160 = +HEAPF32[3440]; + $159 = +HEAPF32[3516]; + $160 = +HEAPF32[3510]; $161 = $159 - $160; - HEAPF32[3444] = $161; - $162 = +HEAPF32[(13788)>>2]; - $163 = +HEAPF32[(13764)>>2]; + HEAPF32[3514] = $161; + $162 = +HEAPF32[(14068)>>2]; + $163 = +HEAPF32[(14044)>>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; + HEAPF32[(14060)>>2] = $164; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14008+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14040+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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14048>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14048+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14064>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14064+4>>2]|0; $167 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $168 = !($167 >= 0.004999999888241291); if ($168) { @@ -12514,31 +16718,31 @@ function _ProcessGestureEvent($0) { 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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14064>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14064+4>>2]|0; $169 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); - $170 = +HEAPF32[7673]; + $170 = +HEAPF32[7745]; $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; + HEAP32[7739] = $$sink16; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14040+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14064>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14064+4>>2]|0; $173 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $174 = 360.0 - $173; - HEAPF32[7674] = $174; + HEAPF32[7746] = $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; + HEAPF32[7745] = 0.0; + HEAPF32[7746] = 0.0; + HEAPF32[3514] = 0.0; + HEAPF32[(14060)>>2] = 0.0; + HEAP32[7740] = 0; + HEAP32[7739] = 0; STACKTOP = sp;return; break; } @@ -12548,22 +16752,22 @@ function _ProcessGestureEvent($0) { } } if ($5) { - $6 = HEAP32[7669]|0; + $6 = HEAP32[7741]|0; $7 = (($6) + 1)|0; - HEAP32[7669] = $7; - $8 = HEAP32[7667]|0; + HEAP32[7741] = $7; + $8 = HEAP32[7739]|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[$moveDownPosition$byval_copy11>>2]=HEAP32[14008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14008+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; + HEAP32[7739] = 2; + HEAP32[7741] = 0; } else { label = 6; } @@ -12571,8 +16775,8 @@ function _ProcessGestureEvent($0) { label = 6; } if ((label|0) == 6) { - HEAP32[7669] = 1; - HEAP32[7667] = 1; + HEAP32[7741] = 1; + HEAP32[7739] = 1; } $14 = ((($0)) + 24|0); $15 = $14; @@ -12581,19 +16785,19 @@ function _ProcessGestureEvent($0) { $18 = (($15) + 4)|0; $19 = $18; $20 = HEAP32[$19>>2]|0; - $21 = 13728; + $21 = 14008; $22 = $21; HEAP32[$22>>2] = $17; $23 = (($21) + 4)|0; $24 = $23; HEAP32[$24>>2] = $20; - $25 = 13736; + $25 = 14016; $26 = $25; HEAP32[$26>>2] = $17; $27 = (($25) + 4)|0; $28 = $27; HEAP32[$28>>2] = $20; - $29 = 13744; + $29 = 14024; $30 = $29; HEAP32[$30>>2] = $17; $31 = (($29) + 4)|0; @@ -12601,14 +16805,14 @@ function _ProcessGestureEvent($0) { 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; + HEAP32[6] = $34; + HEAPF32[3508] = 0.0; + HEAPF32[(14036)>>2] = 0.0; STACKTOP = sp;return; } switch ($4|0) { case 0: { - $35 = HEAP32[7667]|0; + $35 = HEAP32[7739]|0; $36 = ($35|0)==(8); if ($36) { $37 = ((($0)) + 24|0); @@ -12618,31 +16822,31 @@ function _ProcessGestureEvent($0) { $41 = (($38) + 4)|0; $42 = $41; $43 = HEAP32[$42>>2]|0; - $44 = 13744; + $44 = 14024; $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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14008+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14024>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14024+4>>2]|0; $48 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $49 = $48 / 0.0; - HEAPF32[7670] = $49; - HEAP32[7671] = 0; + HEAPF32[7742] = $49; + HEAP32[7743] = 0; $50 = $49 > 5.0000002374872565E-4; if ($50) { - $51 = HEAP32[3]|0; + $51 = HEAP32[6]|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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14008+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14024>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14024+4>>2]|0; $55 = (+_Vector2Angle($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $56 = 360.0 - $55; - HEAPF32[7672] = $56; + HEAPF32[7744] = $56; $57 = $56 < 30.0; $58 = $56 > 330.0; $or$cond3 = $57 | $58; @@ -12673,22 +16877,22 @@ function _ProcessGestureEvent($0) { label = 16; } if ((label|0) == 16) { - HEAPF32[7670] = 0.0; - HEAPF32[7672] = 0.0; + HEAPF32[7742] = 0.0; + HEAPF32[7744] = 0.0; $$sink10 = 0; } - HEAP32[7667] = $$sink10; - HEAPF32[3434] = 0.0; - HEAPF32[(13740)>>2] = 0.0; - HEAP32[7668] = 0; + HEAP32[7739] = $$sink10; + HEAPF32[3504] = 0.0; + HEAPF32[(14020)>>2] = 0.0; + HEAP32[7740] = 0; STACKTOP = sp;return; break; } case 2: { - $65 = HEAP32[7671]|0; + $65 = HEAP32[7743]|0; $66 = ($65|0)==(0); if ($66) { - HEAP32[7671] = 1; + HEAP32[7743] = 1; } $67 = ((($0)) + 24|0); $68 = $67; @@ -12697,31 +16901,31 @@ function _ProcessGestureEvent($0) { $71 = (($68) + 4)|0; $72 = $71; $73 = HEAP32[$72>>2]|0; - $74 = 13760; + $74 = 14040; $75 = $74; HEAP32[$75>>2] = $70; $76 = (($74) + 4)|0; $77 = $76; HEAP32[$77>>2] = $73; - $78 = HEAP32[7667]|0; + $78 = HEAP32[7739]|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; + ;HEAP32[$moveDownPosition$byval_copy11>>2]=HEAP32[14008>>2]|0;HEAP32[$moveDownPosition$byval_copy11+4>>2]=HEAP32[14008+4>>2]|0; + ;HEAP32[$moveDownPosition2$byval_copy12>>2]=HEAP32[14040>>2]|0;HEAP32[$moveDownPosition2$byval_copy12+4>>2]=HEAP32[14040+4>>2]|0; $80 = (+_Vector2Distance($moveDownPosition$byval_copy11,$moveDownPosition2$byval_copy12)); $81 = !($80 >= 0.014999999664723873); if (!($81)) { - HEAP32[7667] = 8; + HEAP32[7739] = 8; } } - $82 = +HEAPF32[3440]; - $83 = +HEAPF32[3434]; + $82 = +HEAPF32[3510]; + $83 = +HEAPF32[3504]; $84 = $82 - $83; - HEAPF32[3438] = $84; - $85 = +HEAPF32[(13764)>>2]; - $86 = +HEAPF32[(13740)>>2]; + HEAPF32[3508] = $84; + $85 = +HEAPF32[(14044)>>2]; + $86 = +HEAPF32[(14020)>>2]; $87 = $85 - $86; - HEAPF32[(13756)>>2] = $87; + HEAPF32[(14036)>>2] = $87; STACKTOP = sp;return; break; } @@ -12733,16 +16937,16 @@ function _ProcessGestureEvent($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[7667]|0; + $0 = HEAP32[7739]|0; $$off = (($0) + -1)|0; $1 = ($$off>>>0)<(2); - $2 = HEAP32[7668]|0; + $2 = HEAP32[7740]|0; $3 = ($2|0)<(2); $or$cond3 = $1 & $3; if ($or$cond3) { - HEAP32[7667] = 4; + HEAP32[7739] = 4; } - $4 = HEAP32[7667]|0; + $4 = HEAP32[7739]|0; $5 = (($4) + -16)|0; $6 = $5 >>> 4; $7 = $5 << 28; @@ -12755,14 +16959,14 @@ function _UpdateGestures() { return; } } - HEAP32[7667] = 0; + HEAP32[7739] = 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; + $1 = 14072; $2 = $1; $3 = HEAP32[$2>>2]|0; $4 = (($1) + 4)|0; @@ -12779,13 +16983,13 @@ function _GetMousePosition($0) { function _GetScreenWidth() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[7677]|0; + $0 = HEAP32[7749]|0; return ($0|0); } function _GetScreenHeight() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[7676]|0; + $0 = HEAP32[7748]|0; return ($0|0); } function _InitWindow($0,$1,$2) { @@ -12796,29 +17000,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,3478,$vararg_buffer); - HEAP32[7679] = $2; + _TraceLog(0,3370,$vararg_buffer); + HEAP32[7751] = $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; + _InitTimer_12(); + (_emscripten_set_fullscreenchange_callback((0|0),(0|0),1,(4|0))|0); + (_emscripten_set_keypress_callback((3399|0),(0|0),1,(5|0))|0); + (_emscripten_set_click_callback((3399|0),(0|0),1,(6|0))|0); + (_emscripten_set_touchstart_callback((3399|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchend_callback((3399|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchmove_callback((3399|0),(0|0),1,(7|0))|0); + (_emscripten_set_touchcancel_callback((3399|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[7749]|0; $4 = (+($3|0)); $5 = $4 * 0.5; - HEAPF32[3448] = $5; - $6 = HEAP32[7676]|0; + HEAPF32[3518] = $5; + $6 = HEAP32[7748]|0; $7 = (+($6|0)); $8 = $7 * 0.5; - HEAPF32[(13796)>>2] = $8; - $9 = HEAP32[7680]|0; + HEAPF32[(14076)>>2] = $8; + $9 = HEAP32[7752]|0; $10 = ($9|0)==(0); if ($10) { STACKTOP = sp;return; @@ -12837,11 +17041,11 @@ function _TraceLog($0,$1,$varargs) { $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; + ;HEAP8[14112>>0]=HEAP8[7928>>0]|0;HEAP8[14112+1>>0]=HEAP8[7928+1>>0]|0;HEAP8[14112+2>>0]=HEAP8[7928+2>>0]|0;HEAP8[14112+3>>0]=HEAP8[7928+3>>0]|0;HEAP8[14112+4>>0]=HEAP8[7928+4>>0]|0;HEAP8[14112+5>>0]=HEAP8[7928+5>>0]|0;HEAP8[14112+6>>0]=HEAP8[7928+6>>0]|0; break; } case 1: { - $3 = 13832; + $3 = 14112; $4 = $3; HEAP32[$4>>2] = 1330795077; $5 = (($3) + 4)|0; @@ -12850,11 +17054,11 @@ function _TraceLog($0,$1,$varargs) { 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)); + dest=14112; src=7935; 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; + $7 = 14112; $8 = $7; HEAP32[$8>>2] = 1430406468; $9 = (($7) + 4)|0; @@ -12865,16 +17069,16 @@ function _TraceLog($0,$1,$varargs) { default: { } } - (_strcat(13832,$1)|0); - $strlen = (_strlen(13832)|0); - $endptr = (13832 + ($strlen)|0); + (_strcat(14112,$1)|0); + $strlen = (_strlen(14112)|0); + $endptr = (14112 + ($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); + (_vprintf(14112,$2)|0); $12 = ($0|0)==(1); if ($12) { _exit(1); @@ -12906,22 +17110,22 @@ function _InitGraphicsDevice($0,$1) { $vararg_buffer = sp; $2 = sp + 72|0; $3 = sp + 140|0; - HEAP32[7677] = $0; - HEAP32[7676] = $1; + HEAP32[7749] = $0; + HEAP32[7748] = $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)); + dest=31084; 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); + _TraceLog(1,4070,$vararg_buffer); } - $6 = HEAP32[7677]|0; - HEAP32[7715] = $6; - $7 = HEAP32[7676]|0; - HEAP32[7716] = $7; + $6 = HEAP32[7749]|0; + HEAP32[7787] = $6; + $7 = HEAP32[7748]|0; + HEAP32[7788] = $7; _glfwDefaultWindowHints(); - $8 = HEAP8[33512]|0; + $8 = HEAP8[35952]|0; $9 = $8 & 4; $10 = ($9<<24>>24)==(0); if ($10) { @@ -12929,18 +17133,18 @@ function _InitGraphicsDevice($0,$1) { } else { _glfwWindowHint(131075,1); } - $11 = HEAP8[33512]|0; + $11 = HEAP8[35952]|0; $12 = $11 & 8; $13 = ($12<<24>>24)==(0); if (!($13)) { _glfwWindowHint(131077,1); } - $14 = HEAP8[33512]|0; + $14 = HEAP8[35952]|0; $15 = $14 & 32; $16 = ($15<<24>>24)==(0); if (!($16)) { _glfwWindowHint(135181,4); - _TraceLog(0,4204,$vararg_buffer1); + _TraceLog(0,4096,$vararg_buffer1); } $17 = (_rlGetVersion()|0); $18 = ($17|0)==(2); @@ -12957,18 +17161,18 @@ function _InitGraphicsDevice($0,$1) { _glfwWindowHint(139270,0); } } - $21 = HEAP32[7717]|0; + $21 = HEAP32[7789]|0; $22 = ($21|0)==(0); if ($22) { - $47 = HEAP32[7677]|0; - $48 = HEAP32[7676]|0; - $49 = HEAP32[7679]|0; + $47 = HEAP32[7749]|0; + $48 = HEAP32[7748]|0; + $49 = HEAP32[7751]|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; + HEAP32[7747] = $50; + $51 = HEAP32[7749]|0; + HEAP32[7790] = $51; + $52 = HEAP32[7748]|0; + HEAP32[7791] = $52; $54 = $50; } else { $23 = (_glfwGetPrimaryMonitor()|0); @@ -12977,9 +17181,9 @@ function _InitGraphicsDevice($0,$1) { $26 = ($25|0)>(0); L22: do { if ($26) { - $27 = HEAP32[7677]|0; + $27 = HEAP32[7749]|0; $28 = HEAP32[$$byval_copy>>2]|0; - $29 = HEAP32[7676]|0; + $29 = HEAP32[7748]|0; $$015 = 0; while(1) { $30 = (($24) + (($$015*24)|0)|0); @@ -13001,87 +17205,87 @@ function _InitGraphicsDevice($0,$1) { break L22; } } - HEAP32[7715] = $31; - HEAP32[7716] = $34; + HEAP32[7787] = $31; + HEAP32[7788] = $34; } } while(0); - $38 = HEAP32[7715]|0; - $39 = HEAP32[7716]|0; + $38 = HEAP32[7787]|0; + $39 = HEAP32[7788]|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; + _TraceLog(2,4121,$vararg_buffer3); + $40 = HEAP32[7787]|0; + $41 = HEAP32[7788]|0; _SetupFramebufferSize($40,$41); - $42 = HEAP32[7715]|0; - $43 = HEAP32[7716]|0; - $44 = HEAP32[7679]|0; + $42 = HEAP32[7787]|0; + $43 = HEAP32[7788]|0; + $44 = HEAP32[7751]|0; $45 = (_glfwGetPrimaryMonitor()|0); $46 = (_glfwCreateWindow(($42|0),($43|0),($44|0),($45|0),(0|0))|0); - HEAP32[7675] = $46; + HEAP32[7747] = $46; $54 = $46; } $53 = ($54|0)==(0|0); if ($53) { _glfwTerminate(); - _TraceLog(1,4267,$vararg_buffer6); + _TraceLog(1,4159,$vararg_buffer6); } else { - _TraceLog(0,4300,$vararg_buffer8); - $55 = HEAP32[7718]|0; - $56 = HEAP32[7719]|0; + _TraceLog(0,4192,$vararg_buffer8); + $55 = HEAP32[7790]|0; + $56 = HEAP32[7791]|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; + _TraceLog(0,4232,$vararg_buffer10); + $57 = HEAP32[7749]|0; + $58 = HEAP32[7748]|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; + _TraceLog(0,4253,$vararg_buffer14); + $59 = HEAP32[7792]|0; + $60 = HEAP32[7793]|0; HEAP32[$vararg_buffer18>>2] = $59; $vararg_ptr21 = ((($vararg_buffer18)) + 4|0); HEAP32[$vararg_ptr21>>2] = $60; - _TraceLog(0,4382,$vararg_buffer18); + _TraceLog(0,4274,$vararg_buffer18); } - $61 = HEAP32[7675]|0; + $61 = HEAP32[7747]|0; (_glfwSetWindowSizeCallback(($61|0),(1|0))|0); - $62 = HEAP32[7675]|0; + $62 = HEAP32[7747]|0; (_glfwSetCursorEnterCallback(($62|0),(2|0))|0); - $63 = HEAP32[7675]|0; + $63 = HEAP32[7747]|0; (_glfwSetKeyCallback(($63|0),(1|0))|0); - $64 = HEAP32[7675]|0; + $64 = HEAP32[7747]|0; (_glfwSetMouseButtonCallback(($64|0),(1|0))|0); - $65 = HEAP32[7675]|0; + $65 = HEAP32[7747]|0; (_glfwSetCursorPosCallback(($65|0),(1|0))|0); - $66 = HEAP32[7675]|0; + $66 = HEAP32[7747]|0; (_glfwSetCharCallback(($66|0),(3|0))|0); - $67 = HEAP32[7675]|0; + $67 = HEAP32[7747]|0; (_glfwSetScrollCallback(($67|0),(2|0))|0); - $68 = HEAP32[7675]|0; + $68 = HEAP32[7747]|0; (_glfwSetWindowIconifyCallback(($68|0),(4|0))|0); - $69 = HEAP32[7675]|0; + $69 = HEAP32[7747]|0; _glfwMakeContextCurrent(($69|0)); _glfwSwapInterval(0); - $70 = HEAP8[33512]|0; + $70 = HEAP8[35952]|0; $71 = $70 & 64; $72 = ($71<<24>>24)==(0); if ($72) { - $73 = HEAP32[7677]|0; - $74 = HEAP32[7676]|0; + $73 = HEAP32[7749]|0; + $74 = HEAP32[7748]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[7718]|0; - $76 = HEAP32[7720]|0; + $75 = HEAP32[7790]|0; + $76 = HEAP32[7792]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[7719]|0; - $80 = HEAP32[7721]|0; + $79 = HEAP32[7791]|0; + $80 = HEAP32[7793]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13099,19 +17303,19 @@ function _InitGraphicsDevice($0,$1) { STACKTOP = sp;return; } _glfwSwapInterval(1); - _TraceLog(0,4407,$vararg_buffer22); - $73 = HEAP32[7677]|0; - $74 = HEAP32[7676]|0; + _TraceLog(0,4299,$vararg_buffer22); + $73 = HEAP32[7749]|0; + $74 = HEAP32[7748]|0; _rlglInit($73,$74); _SetupViewport(); _rlMatrixMode(5889); _rlLoadIdentity(); - $75 = HEAP32[7718]|0; - $76 = HEAP32[7720]|0; + $75 = HEAP32[7790]|0; + $76 = HEAP32[7792]|0; $77 = (($75) - ($76))|0; $78 = (+($77|0)); - $79 = HEAP32[7719]|0; - $80 = HEAP32[7721]|0; + $79 = HEAP32[7791]|0; + $80 = HEAP32[7793]|0; $81 = (($79) - ($80))|0; $82 = (+($81|0)); _rlOrtho(0.0,$78,$82,0.0,0.0,1.0); @@ -13139,12 +17343,12 @@ function _LoadDefaultFont() { $vararg_buffer = sp; $0 = sp + 4|0; $1 = sp + 24|0; - HEAP32[(30764)>>2] = 224; + HEAP32[(31052)>>2] = 224; $2 = (_malloc(65536)|0); _memset(($2|0),0,65536)|0; $$095104 = 0;$$096103 = 0; while(1) { - $3 = (16 + ($$095104<<2)|0); + $3 = (28 + ($$095104<<2)|0); $4 = HEAP32[$3>>2]|0; $$097102 = 31; while(1) { @@ -13180,27 +17384,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[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[31028>>2]=HEAP32[$1>>2]|0;HEAP32[31028+4>>2]=HEAP32[$1+4>>2]|0;HEAP32[31028+8>>2]=HEAP32[$1+8>>2]|0;HEAP32[31028+12>>2]=HEAP32[$1+12>>2]|0;HEAP32[31028+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; + $5 = HEAP32[(31052)>>2]|0; $6 = $5 << 5; $7 = (_malloc($6)|0); - HEAP32[(30768)>>2] = $7; + HEAP32[(31056)>>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[(31048)>>2] = $23; + $24 = HEAP32[7757]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3702,$vararg_buffer); + _TraceLog(0,3594,$vararg_buffer); STACKTOP = sp;return; } - $9 = HEAP32[(30744)>>2]|0; - $10 = HEAP32[(30764)>>2]|0; - $11 = HEAP32[(30768)>>2]|0; + $9 = HEAP32[(31032)>>2]|0; + $10 = HEAP32[(31052)>>2]|0; + $11 = HEAP32[(31056)>>2]|0; $$0101 = 0;$$090100 = 1;$$09299 = 0;$27 = $7; while(1) { $25 = (($$0101) + 32)|0; @@ -13212,7 +17416,7 @@ function _LoadDefaultFont() { $30 = (($29) + 1)|0; $31 = (((($27) + ($$0101<<5)|0)) + 8|0); HEAP32[$31>>2] = $30; - $32 = (2064 + ($$0101<<2)|0); + $32 = (2076 + ($$0101<<2)|0); $33 = HEAP32[$32>>2]|0; $34 = (((($27) + ($$0101<<5)|0)) + 12|0); HEAP32[$34>>2] = $33; @@ -13249,19 +17453,19 @@ function _LoadDefaultFont() { } $22 = ((($$lcssa)) + 16|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(30760)>>2] = $23; - $24 = HEAP32[7685]|0; + HEAP32[(31048)>>2] = $23; + $24 = HEAP32[7757]|0; HEAP32[$vararg_buffer>>2] = $24; - _TraceLog(0,3702,$vararg_buffer); + _TraceLog(0,3594,$vararg_buffer); STACKTOP = sp;return; } -function _InitTimer_10() { +function _InitTimer_12() { var $0 = 0, $1 = 0.0, label = 0, sp = 0; sp = STACKTOP; $0 = (_time((0|0))|0); _srand($0); $1 = (+_GetTime()); - HEAPF64[1728] = $1; + HEAPF64[1763] = $1; return; } function _EmscriptenFullscreenChangeCallback($0,$1,$2) { @@ -13291,7 +17495,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr8>>2] = $10; $vararg_ptr9 = ((($vararg_buffer4)) + 12|0); HEAP32[$vararg_ptr9>>2] = $12; - _TraceLog(0,3635,$vararg_buffer4); + _TraceLog(0,3527,$vararg_buffer4); STACKTOP = sp;return 0; } else { HEAP32[$vararg_buffer>>2] = $6; @@ -13301,7 +17505,7 @@ function _EmscriptenFullscreenChangeCallback($0,$1,$2) { HEAP32[$vararg_ptr2>>2] = $10; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $12; - _TraceLog(0,3566,$vararg_buffer); + _TraceLog(0,3458,$vararg_buffer); STACKTOP = sp;return 0; } return (0)|0; @@ -13317,7 +17521,7 @@ function _EmscriptenKeyboardCallback($0,$1,$2) { return 0; } $4 = ((($1)) + 32|0); - $5 = (_strcmp($4,3559)|0); + $5 = (_strcmp($4,3451)|0); $6 = ($5|0)==(0); if (!($6)) { return 0; @@ -13420,7 +17624,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $28 = (($25) + 4)|0; $29 = $28; $30 = HEAP32[$29>>2]|0; - $31 = 13808; + $31 = 14088; $32 = $31; HEAP32[$32>>2] = $27; $33 = (($31) + 4)|0; @@ -13433,7 +17637,7 @@ function _EmscriptenTouchCallback($0,$1,$2) { $39 = (($36) + 4)|0; $40 = $39; $41 = HEAP32[$40>>2]|0; - $42 = (13816); + $42 = (14096); $43 = $42; HEAP32[$43>>2] = $38; $44 = (($42) + 4)|0; @@ -13489,7 +17693,7 @@ function _EmscriptenGamepadCallback($0,$1,$2) { } $9 = ((($1)) + 1300|0); $10 = HEAP32[$9>>2]|0; - $11 = (30724 + ($10<<2)|0); + $11 = (31012 + ($10<<2)|0); HEAP32[$11>>2] = $$sink; return 0; } @@ -13503,19 +17707,19 @@ function _SetTargetFPS($0) { $2 = (+($0|0)); $3 = 1.0 / $2; $$ = $1 ? 0.0 : $3; - HEAPF64[1725] = $$; + HEAPF64[1760] = $$; $4 = $3; $$op = $4 * 1000.0; $5 = $$op; $6 = $1 ? 0.0 : $5; HEAPF64[$vararg_buffer>>3] = $6; - _TraceLog(0,3515,$vararg_buffer); + _TraceLog(0,3407,$vararg_buffer); STACKTOP = sp;return; } function _LogoAnimation() { var label = 0, sp = 0; sp = STACKTOP; - HEAP32[7680] = 0; + HEAP32[7752] = 0; return; } function _GetTime() { @@ -13614,7 +17818,7 @@ function _ImageFormat($0,$1) { $6 = ($1|0)<(8); $or$cond = $6 & $5; if (!($or$cond)) { - _TraceLog(2,4078,$vararg_buffer); + _TraceLog(2,3970,$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; @@ -14091,52 +18295,52 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $5 = sp + 68|0; _glBindTexture(3553,0); HEAP32[$5>>2] = 0; - $6 = HEAP32[7693]|0; + $6 = HEAP32[7765]|0; $7 = ($6|0)==(0); $8 = $3 & -4; $switch = ($8|0)==(8); $or$cond100 = $switch & $7; if ($or$cond100) { - _TraceLog(2,3747,$vararg_buffer); + _TraceLog(2,3639,$vararg_buffer); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $9 = HEAP32[7694]|0; + $9 = HEAP32[7766]|0; $10 = ($9|0)==(0); $11 = ($3|0)==(12); $or$cond7 = $11 & $10; if ($or$cond7) { - _TraceLog(2,3791,$vararg_buffer1); + _TraceLog(2,3683,$vararg_buffer1); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $12 = HEAP32[7695]|0; + $12 = HEAP32[7767]|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); + _TraceLog(2,3728,$vararg_buffer3); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $15 = HEAP32[7696]|0; + $15 = HEAP32[7768]|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); + _TraceLog(2,3773,$vararg_buffer5); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } - $18 = HEAP32[7697]|0; + $18 = HEAP32[7769]|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); + _TraceLog(2,3818,$vararg_buffer7); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -14174,7 +18378,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 8: { - $22 = HEAP32[7693]|0; + $22 = HEAP32[7765]|0; $23 = ($22|0)==(0); if (!($23)) { _LoadCompressedTexture($0,$1,$2,$4,33776); @@ -14182,7 +18386,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 9: { - $24 = HEAP32[7693]|0; + $24 = HEAP32[7765]|0; $25 = ($24|0)==(0); if (!($25)) { _LoadCompressedTexture($0,$1,$2,$4,33777); @@ -14190,7 +18394,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 10: { - $26 = HEAP32[7693]|0; + $26 = HEAP32[7765]|0; $27 = ($26|0)==(0); if (!($27)) { _LoadCompressedTexture($0,$1,$2,$4,33778); @@ -14198,7 +18402,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 11: { - $28 = HEAP32[7693]|0; + $28 = HEAP32[7765]|0; $29 = ($28|0)==(0); if (!($29)) { _LoadCompressedTexture($0,$1,$2,$4,33779); @@ -14206,7 +18410,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 12: { - $30 = HEAP32[7694]|0; + $30 = HEAP32[7766]|0; $31 = ($30|0)==(0); if (!($31)) { _LoadCompressedTexture($0,$1,$2,$4,36196); @@ -14214,7 +18418,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 13: { - $32 = HEAP32[7695]|0; + $32 = HEAP32[7767]|0; $33 = ($32|0)==(0); if (!($33)) { _LoadCompressedTexture($0,$1,$2,$4,37492); @@ -14222,7 +18426,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 14: { - $34 = HEAP32[7695]|0; + $34 = HEAP32[7767]|0; $35 = ($34|0)==(0); if (!($35)) { _LoadCompressedTexture($0,$1,$2,$4,37496); @@ -14230,7 +18434,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 15: { - $36 = HEAP32[7696]|0; + $36 = HEAP32[7768]|0; $37 = ($36|0)==(0); if (!($37)) { _LoadCompressedTexture($0,$1,$2,$4,35840); @@ -14238,7 +18442,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 16: { - $38 = HEAP32[7696]|0; + $38 = HEAP32[7768]|0; $39 = ($38|0)==(0); if (!($39)) { _LoadCompressedTexture($0,$1,$2,$4,35842); @@ -14246,7 +18450,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 17: { - $40 = HEAP32[7697]|0; + $40 = HEAP32[7769]|0; $41 = ($40|0)==(0); if (!($41)) { _LoadCompressedTexture($0,$1,$2,$4,37808); @@ -14254,7 +18458,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } case 18: { - $42 = HEAP32[7697]|0; + $42 = HEAP32[7769]|0; $43 = ($42|0)==(0); if (!($43)) { _LoadCompressedTexture($0,$1,$2,$4,37815); @@ -14262,11 +18466,11 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { break; } default: { - _TraceLog(2,3971,$vararg_buffer9); + _TraceLog(2,3863,$vararg_buffer9); } } } while(0); - $44 = HEAP32[7698]|0; + $44 = HEAP32[7770]|0; $45 = ($44|0)==(0); if ($45) { _glTexParameteri(3553,10242,33071); @@ -14281,7 +18485,7 @@ function _rlglLoadTexture($0,$1,$2,$3,$4) { $46 = HEAP32[$5>>2]|0; $47 = ($46|0)==(0); if ($47) { - _TraceLog(2,4049,$vararg_buffer15); + _TraceLog(2,3941,$vararg_buffer15); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } else { @@ -14290,7 +18494,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,4000,$vararg_buffer11); + _TraceLog(0,3892,$vararg_buffer11); $$0 = HEAP32[$5>>2]|0; STACKTOP = sp;return ($$0|0); } @@ -14564,7 +18768,7 @@ function _GetImageData($0) { break; } default: { - _TraceLog(2,4132,$vararg_buffer); + _TraceLog(2,4024,$vararg_buffer); $$1 = $$0106; } } @@ -14591,7 +18795,7 @@ function _ErrorCallback($0,$1) { HEAP32[$vararg_buffer>>2] = $0; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $1; - _TraceLog(2,7998,$vararg_buffer); + _TraceLog(2,7890,$vararg_buffer); STACKTOP = sp;return; } function _rlGetVersion() { @@ -14612,20 +18816,20 @@ function _SetupFramebufferSize($0,$1) { $vararg_buffer4 = sp + 16|0; $vararg_buffer = sp; $2 = sp + 40|0; - $3 = HEAP32[7677]|0; + $3 = HEAP32[7749]|0; $4 = ($3|0)>($0|0); if (!($4)) { - $5 = HEAP32[7676]|0; + $5 = HEAP32[7748]|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; + HEAP32[7790] = $3; + HEAP32[7791] = $5; + HEAP32[7792] = 0; + HEAP32[7793] = 0; STACKTOP = sp;return; } HEAP32[$vararg_buffer8>>2] = $3; @@ -14635,13 +18839,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr12>>2] = $0; $vararg_ptr13 = ((($vararg_buffer8)) + 12|0); HEAP32[$vararg_ptr13>>2] = $1; - _TraceLog(0,7932,$vararg_buffer8); + _TraceLog(0,7824,$vararg_buffer8); $32 = (+($0|0)); $33 = (+($1|0)); $34 = $32 / $33; - $35 = HEAP32[7677]|0; + $35 = HEAP32[7749]|0; $36 = (+($35|0)); - $37 = HEAP32[7676]|0; + $37 = HEAP32[7748]|0; $38 = (+($37|0)); $39 = $36 / $38; $40 = !($34 <= $39); @@ -14649,26 +18853,26 @@ function _SetupFramebufferSize($0,$1) { $44 = $34 * $38; $roundf = (+_roundf((+$44))); $45 = (~~(($roundf))); - HEAP32[7718] = $45; - HEAP32[7719] = $37; + HEAP32[7790] = $45; + HEAP32[7791] = $37; $46 = (($45) - ($35))|0; - HEAP32[7720] = $46; + HEAP32[7792] = $46; $$sink1 = 0; } else { - HEAP32[7718] = $35; + HEAP32[7790] = $35; $41 = $36 / $34; $roundf38 = (+_roundf((+$41))); $42 = (~~(($roundf38))); - HEAP32[7719] = $42; - HEAP32[7720] = 0; + HEAP32[7791] = $42; + HEAP32[7792] = 0; $43 = (($42) - ($37))|0; $$sink1 = $43; } - HEAP32[7721] = $$sink1; + HEAP32[7793] = $$sink1; STACKTOP = sp;return; } } - $7 = HEAP32[7676]|0; + $7 = HEAP32[7748]|0; HEAP32[$vararg_buffer>>2] = $3; $vararg_ptr1 = ((($vararg_buffer)) + 4|0); HEAP32[$vararg_ptr1>>2] = $7; @@ -14676,13 +18880,13 @@ function _SetupFramebufferSize($0,$1) { HEAP32[$vararg_ptr2>>2] = $0; $vararg_ptr3 = ((($vararg_buffer)) + 12|0); HEAP32[$vararg_ptr3>>2] = $1; - _TraceLog(2,7789,$vararg_buffer); + _TraceLog(2,7681,$vararg_buffer); $8 = (+($0|0)); - $9 = HEAP32[7677]|0; + $9 = HEAP32[7749]|0; $10 = (+($9|0)); $11 = $8 / $10; $12 = (+($1|0)); - $13 = HEAP32[7676]|0; + $13 = HEAP32[7748]|0; $14 = (+($13|0)); $15 = $12 / $14; $16 = !($11 <= $15); @@ -14690,37 +18894,37 @@ function _SetupFramebufferSize($0,$1) { $22 = $10 * $15; $roundf39 = (+_roundf((+$22))); $23 = (~~(($roundf39))); - HEAP32[7718] = $23; - HEAP32[7719] = $1; + HEAP32[7790] = $23; + HEAP32[7791] = $1; $24 = (($0) - ($23))|0; - HEAP32[7720] = $24; + HEAP32[7792] = $24; $$sink = 0; } else { - HEAP32[7718] = $0; - $17 = HEAP32[7676]|0; + HEAP32[7790] = $0; + $17 = HEAP32[7748]|0; $18 = (+($17|0)); $19 = $11 * $18; $roundf40 = (+_roundf((+$19))); $20 = (~~(($roundf40))); - HEAP32[7719] = $20; - HEAP32[7720] = 0; + HEAP32[7791] = $20; + HEAP32[7792] = 0; $21 = (($1) - ($20))|0; $$sink = $21; } - HEAP32[7721] = $$sink; - $25 = HEAP32[7718]|0; + HEAP32[7793] = $$sink; + $25 = HEAP32[7790]|0; $26 = (+($25|0)); - $27 = HEAP32[7677]|0; + $27 = HEAP32[7749]|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; + dest=31084; 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[7790] = $0; + HEAP32[7791] = $1; HEAP32[$vararg_buffer4>>2] = $0; $vararg_ptr7 = ((($vararg_buffer4)) + 4|0); HEAP32[$vararg_ptr7>>2] = $1; - _TraceLog(2,7867,$vararg_buffer4); + _TraceLog(2,7759,$vararg_buffer4); STACKTOP = sp;return; } function _WindowSizeCallback($0,$1,$2) { @@ -14738,10 +18942,10 @@ function _WindowSizeCallback($0,$1,$2) { _rlMatrixMode(5888); _rlLoadIdentity(); _rlClearScreenBuffers(); - HEAP32[7677] = $1; - HEAP32[7676] = $2; - HEAP32[7718] = $1; - HEAP32[7719] = $2; + HEAP32[7749] = $1; + HEAP32[7748] = $2; + HEAP32[7790] = $1; + HEAP32[7791] = $2; return; } function _CursorEnterCallback($0,$1) { @@ -14759,7 +18963,7 @@ function _KeyCallback($0,$1,$2,$3,$4) { $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; + $5 = HEAP32[744]|0; $6 = ($5|0)==($1|0); $7 = ($3|0)==(1); $or$cond = $7 & $6; @@ -14768,12 +18972,12 @@ function _KeyCallback($0,$1,$2,$3,$4) { return; } $8 = $3&255; - $9 = (33519 + ($1)|0); + $9 = (35959 + ($1)|0); HEAP8[$9>>0] = $8; if (!($7)) { return; } - HEAP32[740] = $1; + HEAP32[743] = $1; return; } function _MouseButtonCallback($0,$1,$2,$3) { @@ -14789,7 +18993,7 @@ function _MouseButtonCallback($0,$1,$2,$3) { $4 = sp + 8|0; $5 = sp; $6 = $2&255; - $7 = (33513 + ($1)|0); + $7 = (35953 + ($1)|0); HEAP8[$7>>0] = $6; $8 = (_IsMouseButtonPressed(0)|0); $9 = ($8|0)==(0); @@ -14868,7 +19072,7 @@ function _MouseCursorPosCallback($0,$1,$2) { $12 = (($9) + 4)|0; $13 = $12; $14 = HEAP32[$13>>2]|0; - $15 = 13808; + $15 = 14088; $16 = $15; HEAP32[$16>>2] = $11; $17 = (($15) + 4)|0; @@ -14893,7 +19097,7 @@ function _CharCallback($0,$1) { $1 = $1|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[740] = $1; + HEAP32[743] = $1; return; } function _ScrollCallback($0,$1,$2) { @@ -14903,7 +19107,7 @@ function _ScrollCallback($0,$1,$2) { var $3 = 0, label = 0, sp = 0; sp = STACKTOP; $3 = (~~(($2))); - HEAP32[8091] = $3; + HEAP32[8163] = $3; return; } function _WindowIconifyCallback($0,$1) { @@ -14913,7 +19117,7 @@ function _WindowIconifyCallback($0,$1) { sp = STACKTOP; $2 = ($1|0)!=(0); $$sink = $2&1; - HEAP32[8090] = $$sink; + HEAP32[8162] = $$sink; return; } function _rlglInit($0,$1) { @@ -14953,16 +19157,16 @@ function _rlglInit($0,$1) { $6 = sp + 2192|0; $7 = (_glGetString(7936)|0); HEAP32[$vararg_buffer>>2] = $7; - _TraceLog(0,4430,$vararg_buffer); + _TraceLog(0,4322,$vararg_buffer); $8 = (_glGetString(7937)|0); HEAP32[$vararg_buffer1>>2] = $8; - _TraceLog(0,4448,$vararg_buffer1); + _TraceLog(0,4340,$vararg_buffer1); $9 = (_glGetString(7938)|0); HEAP32[$vararg_buffer4>>2] = $9; - _TraceLog(0,4466,$vararg_buffer4); + _TraceLog(0,4358,$vararg_buffer4); $10 = (_glGetString(35724)|0); HEAP32[$vararg_buffer7>>2] = $10; - _TraceLog(0,4484,$vararg_buffer7); + _TraceLog(0,4376,$vararg_buffer7); $11 = (_glGetString(7939)|0); $12 = (_strlen($11)|0); $13 = (($12) + 1)|0; @@ -14970,7 +19174,7 @@ function _rlglInit($0,$1) { _memcpy(($14|0),($11|0),($13|0))|0; $$062 = 0;$$sink63 = $14; while(1) { - $15 = (_strtok($$sink63,4502)|0); + $15 = (_strtok($$sink63,4394)|0); $16 = (($vararg_buffer7) + ($$062<<2)|0); HEAP32[$16>>2] = $15; $17 = ($15|0)==(0|0); @@ -14984,41 +19188,41 @@ function _rlglInit($0,$1) { _free($14); $19 = (($$062) + -1)|0; HEAP32[$vararg_buffer10>>2] = $19; - _TraceLog(0,4504,$vararg_buffer10); + _TraceLog(0,4396,$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); + $25 = (_strcmp($24,4431)|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); + HEAP32[7828] = 1; + $27 = (_eglGetProcAddress((4458|0))|0); + HEAP32[7829] = $27; + $28 = (_eglGetProcAddress((4479|0))|0); + HEAP32[7830] = $28; + $29 = (_eglGetProcAddress((4500|0))|0); + HEAP32[7831] = $29; + } + $30 = (_strcmp($24,4524)|0); $31 = ($30|0)==(0); if ($31) { - HEAP32[7698] = 1; + HEAP32[7770] = 1; } - $32 = (_strcmp($24,4652)|0); + $32 = (_strcmp($24,4544)|0); $33 = ($32|0)==(0); if ($33) { label = 12; } else { $34 = HEAP32[$23>>2]|0; - $35 = (_strcmp($34,4684)|0); + $35 = (_strcmp($34,4576)|0); $36 = ($35|0)==(0); if ($36) { label = 12; } else { - $37 = (_strcmp($34,4717)|0); + $37 = (_strcmp($34,4609)|0); $38 = ($37|0)==(0); if ($38) { label = 12; @@ -15027,15 +19231,15 @@ function _rlglInit($0,$1) { } if ((label|0) == 12) { label = 0; - HEAP32[7693] = 1; + HEAP32[7765] = 1; } - $39 = (_strcmp($24,4757)|0); + $39 = (_strcmp($24,4649)|0); $40 = ($39|0)==(0); if ($40) { label = 15; } else { $41 = HEAP32[$23>>2]|0; - $42 = (_strcmp($41,4793)|0); + $42 = (_strcmp($41,4685)|0); $43 = ($42|0)==(0); if ($43) { label = 15; @@ -15043,35 +19247,35 @@ function _rlglInit($0,$1) { } if ((label|0) == 15) { label = 0; - HEAP32[7694] = 1; + HEAP32[7766] = 1; } $44 = HEAP32[$23>>2]|0; - $45 = (_strcmp($44,4826)|0); + $45 = (_strcmp($44,4718)|0); $46 = ($45|0)==(0); if ($46) { - HEAP32[7695] = 1; + HEAP32[7767] = 1; } - $47 = (_strcmp($44,4851)|0); + $47 = (_strcmp($44,4743)|0); $48 = ($47|0)==(0); if ($48) { - HEAP32[7696] = 1; + HEAP32[7768] = 1; } - $49 = (_strcmp($44,4884)|0); + $49 = (_strcmp($44,4776)|0); $50 = ($49|0)==(0); if ($50) { - HEAP32[7697] = 1; + HEAP32[7769] = 1; } - $51 = (_strcmp($44,4920)|0); + $51 = (_strcmp($44,4812)|0); $52 = ($51|0)==(0); if ($52) { - HEAP32[7760] = 1; - _glGetFloatv(34047,(31044|0)); + HEAP32[7832] = 1; + _glGetFloatv(34047,(31332|0)); } $53 = HEAP32[$23>>2]|0; - $54 = (_strcmp($53,4954)|0); + $54 = (_strcmp($53,4846)|0); $55 = ($54|0)==(0); if ($55) { - HEAP32[7762] = 1; + HEAP32[7834] = 1; } $56 = (($$06167) + 1)|0; $exitcond70 = ($56|0)==($19|0); @@ -15082,77 +19286,77 @@ function _rlglInit($0,$1) { } } } - $21 = HEAP32[7756]|0; + $21 = HEAP32[7828]|0; $22 = ($21|0)==(0); if ($22) { - _TraceLog(2,5057,$vararg_buffer15); + _TraceLog(2,4949,$vararg_buffer15); } else { - _TraceLog(0,4982,$vararg_buffer13); + _TraceLog(0,4874,$vararg_buffer13); } - $57 = HEAP32[7698]|0; + $57 = HEAP32[7770]|0; $58 = ($57|0)==(0); if ($58) { - _TraceLog(2,5193,$vararg_buffer19); + _TraceLog(2,5085,$vararg_buffer19); } else { - _TraceLog(0,5118,$vararg_buffer17); + _TraceLog(0,5010,$vararg_buffer17); } - $59 = HEAP32[7693]|0; + $59 = HEAP32[7765]|0; $60 = ($59|0)==(0); if (!($60)) { - _TraceLog(0,5285,$vararg_buffer21); + _TraceLog(0,5177,$vararg_buffer21); } - $61 = HEAP32[7694]|0; + $61 = HEAP32[7766]|0; $62 = ($61|0)==(0); if (!($62)) { - _TraceLog(0,5331,$vararg_buffer23); + _TraceLog(0,5223,$vararg_buffer23); } - $63 = HEAP32[7695]|0; + $63 = HEAP32[7767]|0; $64 = ($63|0)==(0); if (!($64)) { - _TraceLog(0,5378,$vararg_buffer25); + _TraceLog(0,5270,$vararg_buffer25); } - $65 = HEAP32[7696]|0; + $65 = HEAP32[7768]|0; $66 = ($65|0)==(0); if (!($66)) { - _TraceLog(0,5429,$vararg_buffer27); + _TraceLog(0,5321,$vararg_buffer27); } - $67 = HEAP32[7697]|0; + $67 = HEAP32[7769]|0; $68 = ($67|0)==(0); if (!($68)) { - _TraceLog(0,5476,$vararg_buffer29); + _TraceLog(0,5368,$vararg_buffer29); } - $69 = HEAP32[7760]|0; + $69 = HEAP32[7832]|0; $70 = ($69|0)==(0); if (!($70)) { - $71 = +HEAPF32[7761]; + $71 = +HEAPF32[7833]; $72 = $71; HEAPF64[$vararg_buffer31>>3] = $72; - _TraceLog(0,5523,$vararg_buffer31); + _TraceLog(0,5415,$vararg_buffer31); } - $73 = HEAP32[7762]|0; + $73 = HEAP32[7834]|0; $74 = ($73|0)==(0); if (!($74)) { - _TraceLog(0,5589,$vararg_buffer34); + _TraceLog(0,5481,$vararg_buffer34); } HEAP32[$vararg_buffer10>>2] = -1; $75 = (_rlglLoadTexture($vararg_buffer10,1,1,7,1)|0); - HEAP32[7763] = $75; + HEAP32[7835] = $75; $76 = ($75|0)==(0); if ($76) { - _TraceLog(2,5693,$vararg_buffer39); + _TraceLog(2,5585,$vararg_buffer39); } else { HEAP32[$vararg_buffer36>>2] = $75; - _TraceLog(0,5642,$vararg_buffer36); + _TraceLog(0,5534,$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)); + dest=31344; 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=31400; 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; + HEAP32[7864] = $77; $$06066 = 0; while(1) { - $79 = HEAP32[7792]|0; + $79 = HEAP32[7864]|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; @@ -15165,7 +19369,7 @@ function _rlglInit($0,$1) { } } $78 = (_malloc(36864)|0); - HEAP32[7793] = $78; + HEAP32[7865] = $78; $$05965 = 0; while(1) { $82 = (((($78) + (($$05965*144)|0)|0)) + 8|0); @@ -15180,48 +19384,48 @@ function _rlglInit($0,$1) { $$05965 = $84; } } - HEAP32[7794] = 1; - $85 = HEAP32[7763]|0; + HEAP32[7866] = 1; + $85 = HEAP32[7835]|0; $86 = ((($78)) + 8|0); HEAP32[$86>>2] = $85; - HEAP32[7795] = 4; + HEAP32[7867] = 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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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=(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)); + 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($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)); + dest=(32368); src=$4; stop=dest+64|0; 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)); + dest=(32432); src=$4; stop=dest+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)); + dest=31180; 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; + dest=31244; 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[7794] = 31244; _glDepthFunc(515); _glDisable(2929); _glBlendFunc(770,771); @@ -15232,21 +19436,21 @@ function _rlglInit($0,$1) { _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); + HEAP32[8124] = $0; + HEAP32[8125] = $1; + _TraceLog(0,5624,$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; + $0 = HEAP32[7792]|0; $1 = (($0|0) / 2)&-1; - $2 = HEAP32[7721]|0; + $2 = HEAP32[7793]|0; $3 = (($2|0) / 2)&-1; - $4 = HEAP32[7718]|0; + $4 = HEAP32[7790]|0; $5 = (($4) - ($0))|0; - $6 = HEAP32[7719]|0; + $6 = HEAP32[7791]|0; $7 = (($6) - ($2))|0; _rlViewport($1,$3,$5,$7); return; @@ -15257,12 +19461,12 @@ function _rlMatrixMode($0) { sp = STACKTOP; switch ($0|0) { case 5889: { - $modelview$sink = 30892; + $modelview$sink = 31180; label = 3; break; } case 5888: { - $modelview$sink = 30956; + $modelview$sink = 31244; label = 3; break; } @@ -15270,9 +19474,9 @@ function _rlMatrixMode($0) { } } if ((label|0) == 3) { - HEAP32[7722] = $modelview$sink; + HEAP32[7794] = $modelview$sink; } - HEAP32[7755] = $0; + HEAP32[7827] = $0; return; } function _rlLoadIdentity() { @@ -15280,7 +19484,7 @@ function _rlLoadIdentity() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $0 = sp; - $1 = HEAP32[7722]|0; + $1 = HEAP32[7794]|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; @@ -15301,7 +19505,7 @@ function _rlOrtho($0,$1,$2,$3,$4,$5) { $7 = sp; _MatrixOrtho($6,$0,$1,$2,$3,$4,$5); _MatrixTranspose($6); - $8 = HEAP32[7722]|0; + $8 = HEAP32[7794]|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); @@ -15360,17 +19564,17 @@ function _LoadDefaultShader($0) { $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; + _memcpy(($2|0),(6200|0),489)|0; + _memcpy(($3|0),(6689|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); + _TraceLog(2,7178,$vararg_buffer1); } else { HEAP32[$vararg_buffer>>2] = $4; - _TraceLog(0,7238,$vararg_buffer); + _TraceLog(0,7130,$vararg_buffer); } $6 = HEAP32[$1>>2]|0; $7 = ($6|0)==(0); @@ -15398,15 +19602,15 @@ function _LoadDefaultBuffers() { $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; $0 = (_malloc(24576)|0); - HEAP32[(32228)>>2] = $0; + HEAP32[(32516)>>2] = $0; $1 = (_malloc(8192)|0); - HEAP32[(32236)>>2] = $1; - HEAP32[(32232)>>2] = 0; - HEAP32[(32240)>>2] = 0; + HEAP32[(32524)>>2] = $1; + HEAP32[(32520)>>2] = 0; + HEAP32[(32528)>>2] = 0; _memset(($0|0),0,24576)|0; $$05972 = 0; while(1) { - $2 = HEAP32[(32236)>>2]|0; + $2 = HEAP32[(32524)>>2]|0; $3 = (($2) + ($$05972)|0); HEAP8[$3>>0] = 0; $4 = (($$05972) + 1)|0; @@ -15417,19 +19621,19 @@ function _LoadDefaultBuffers() { $$05972 = $4; } } - HEAP32[8054] = 0; - HEAP32[(32224)>>2] = 0; - HEAP32[(32220)>>2] = 0; + HEAP32[8126] = 0; + HEAP32[(32512)>>2] = 0; + HEAP32[(32508)>>2] = 0; $5 = (_malloc(73728)|0); - HEAP32[(32276)>>2] = $5; + HEAP32[(32564)>>2] = $5; $6 = (_malloc(24576)|0); - HEAP32[(32284)>>2] = $6; - HEAP32[(32280)>>2] = 0; - HEAP32[(32288)>>2] = 0; + HEAP32[(32572)>>2] = $6; + HEAP32[(32568)>>2] = 0; + HEAP32[(32576)>>2] = 0; _memset(($5|0),0,73728)|0; $$05770 = 0; while(1) { - $7 = HEAP32[(32284)>>2]|0; + $7 = HEAP32[(32572)>>2]|0; $8 = (($7) + ($$05770)|0); HEAP8[$8>>0] = 0; $9 = (($$05770) + 1)|0; @@ -15440,24 +19644,24 @@ function _LoadDefaultBuffers() { $$05770 = $9; } } - HEAP32[8066] = 0; - HEAP32[(32272)>>2] = 0; - HEAP32[(32268)>>2] = 0; + HEAP32[8138] = 0; + HEAP32[(32560)>>2] = 0; + HEAP32[(32556)>>2] = 0; $10 = (_malloc(49152)|0); - HEAP32[(32324)>>2] = $10; + HEAP32[(32612)>>2] = $10; $11 = (_malloc(32768)|0); - HEAP32[(32328)>>2] = $11; + HEAP32[(32616)>>2] = $11; $12 = (_malloc(16384)|0); - HEAP32[(32332)>>2] = $12; + HEAP32[(32620)>>2] = $12; $13 = (_malloc(12288)|0); - HEAP32[(32336)>>2] = $13; - $14 = HEAP32[(32324)>>2]|0; + HEAP32[(32624)>>2] = $13; + $14 = HEAP32[(32612)>>2]|0; _memset(($14|0),0,49152)|0; - $15 = HEAP32[(32328)>>2]|0; + $15 = HEAP32[(32616)>>2]|0; _memset(($15|0),0,32768)|0; $$05467 = 0; while(1) { - $17 = HEAP32[(32332)>>2]|0; + $17 = HEAP32[(32620)>>2]|0; $18 = (($17) + ($$05467)|0); HEAP8[$18>>0] = 0; $19 = (($$05467) + 1)|0; @@ -15468,7 +19672,7 @@ function _LoadDefaultBuffers() { $$05467 = $19; } } - $16 = HEAP32[(32336)>>2]|0; + $16 = HEAP32[(32624)>>2]|0; $$05365 = 0;$$066 = 0; while(1) { $22 = $$05365 << 2; @@ -15505,140 +19709,140 @@ function _LoadDefaultBuffers() { $$05365 = $41;$$066 = $42; } } - HEAP32[8078] = 0; - HEAP32[(32316)>>2] = 0; - HEAP32[(32320)>>2] = 0; - _TraceLog(0,5779,$vararg_buffer); - $20 = HEAP32[7756]|0; + HEAP32[8150] = 0; + HEAP32[(32604)>>2] = 0; + HEAP32[(32608)>>2] = 0; + _TraceLog(0,5671,$vararg_buffer); + $20 = HEAP32[7828]|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; + $43 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$43 & 63](1,(32532)); + $44 = HEAP32[7830]|0; + $45 = HEAP32[(32532)>>2]|0; FUNCTION_TABLE_vi[$44 & 31]($45); } - _glGenBuffers(2,((32248)|0)); - $46 = HEAP32[(32248)>>2]|0; + _glGenBuffers(2,((32536)|0)); + $46 = HEAP32[(32536)>>2]|0; _glBindBuffer(34962,($46|0)); - $47 = HEAP32[(32228)>>2]|0; + $47 = HEAP32[(32516)>>2]|0; _glBufferData(34962,24576,($47|0),35048); - $48 = HEAP32[(31116)>>2]|0; + $48 = HEAP32[(31404)>>2]|0; _glEnableVertexAttribArray(($48|0)); - $49 = HEAP32[(31116)>>2]|0; + $49 = HEAP32[(31404)>>2]|0; _glVertexAttribPointer(($49|0),3,5126,0,0,(0|0)); - _glGenBuffers(2,((32252)|0)); - $50 = HEAP32[(32252)>>2]|0; + _glGenBuffers(2,((32540)|0)); + $50 = HEAP32[(32540)>>2]|0; _glBindBuffer(34962,($50|0)); - $51 = HEAP32[(32236)>>2]|0; + $51 = HEAP32[(32524)>>2]|0; _glBufferData(34962,8192,($51|0),35048); - $52 = HEAP32[(31136)>>2]|0; + $52 = HEAP32[(31424)>>2]|0; _glEnableVertexAttribArray(($52|0)); - $53 = HEAP32[(31136)>>2]|0; + $53 = HEAP32[(31424)>>2]|0; _glVertexAttribPointer(($53|0),4,5121,1,0,(0|0)); - $54 = HEAP32[7756]|0; + $54 = HEAP32[7828]|0; $55 = ($54|0)==(0); if ($55) { - $57 = HEAP32[(32248)>>2]|0; - $58 = HEAP32[(32252)>>2]|0; + $57 = HEAP32[(32536)>>2]|0; + $58 = HEAP32[(32540)>>2]|0; HEAP32[$vararg_buffer3>>2] = $57; $vararg_ptr6 = ((($vararg_buffer3)) + 4|0); HEAP32[$vararg_ptr6>>2] = $58; - _TraceLog(0,5917,$vararg_buffer3); + _TraceLog(0,5809,$vararg_buffer3); } else { - $56 = HEAP32[(32244)>>2]|0; + $56 = HEAP32[(32532)>>2]|0; HEAP32[$vararg_buffer1>>2] = $56; - _TraceLog(0,5852,$vararg_buffer1); + _TraceLog(0,5744,$vararg_buffer1); } - $59 = HEAP32[7756]|0; + $59 = HEAP32[7828]|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; + $61 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$61 & 63](1,(32580)); + $62 = HEAP32[7830]|0; + $63 = HEAP32[(32580)>>2]|0; FUNCTION_TABLE_vi[$62 & 31]($63); } - _glGenBuffers(1,((32296)|0)); - $64 = HEAP32[(32296)>>2]|0; + _glGenBuffers(1,((32584)|0)); + $64 = HEAP32[(32584)>>2]|0; _glBindBuffer(34962,($64|0)); - $65 = HEAP32[(32276)>>2]|0; + $65 = HEAP32[(32564)>>2]|0; _glBufferData(34962,73728,($65|0),35048); - $66 = HEAP32[(31116)>>2]|0; + $66 = HEAP32[(31404)>>2]|0; _glEnableVertexAttribArray(($66|0)); - $67 = HEAP32[(31116)>>2]|0; + $67 = HEAP32[(31404)>>2]|0; _glVertexAttribPointer(($67|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((32300)|0)); - $68 = HEAP32[(32300)>>2]|0; + _glGenBuffers(1,((32588)|0)); + $68 = HEAP32[(32588)>>2]|0; _glBindBuffer(34962,($68|0)); - $69 = HEAP32[(32284)>>2]|0; + $69 = HEAP32[(32572)>>2]|0; _glBufferData(34962,24576,($69|0),35048); - $70 = HEAP32[(31136)>>2]|0; + $70 = HEAP32[(31424)>>2]|0; _glEnableVertexAttribArray(($70|0)); - $71 = HEAP32[(31136)>>2]|0; + $71 = HEAP32[(31424)>>2]|0; _glVertexAttribPointer(($71|0),4,5121,1,0,(0|0)); - $72 = HEAP32[7756]|0; + $72 = HEAP32[7828]|0; $73 = ($72|0)==(0); if ($73) { - $75 = HEAP32[(32296)>>2]|0; - $76 = HEAP32[(32300)>>2]|0; + $75 = HEAP32[(32584)>>2]|0; + $76 = HEAP32[(32588)>>2]|0; HEAP32[$vararg_buffer10>>2] = $75; $vararg_ptr13 = ((($vararg_buffer10)) + 4|0); HEAP32[$vararg_ptr13>>2] = $76; - _TraceLog(0,6063,$vararg_buffer10); + _TraceLog(0,5955,$vararg_buffer10); } else { - $74 = HEAP32[(32292)>>2]|0; + $74 = HEAP32[(32580)>>2]|0; HEAP32[$vararg_buffer7>>2] = $74; - _TraceLog(0,5994,$vararg_buffer7); + _TraceLog(0,5886,$vararg_buffer7); } - $77 = HEAP32[7756]|0; + $77 = HEAP32[7828]|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; + $79 = HEAP32[7829]|0; + FUNCTION_TABLE_vii[$79 & 63](1,(32628)); + $80 = HEAP32[7830]|0; + $81 = HEAP32[(32628)>>2]|0; FUNCTION_TABLE_vi[$80 & 31]($81); } - _glGenBuffers(1,((32344)|0)); - $82 = HEAP32[(32344)>>2]|0; + _glGenBuffers(1,((32632)|0)); + $82 = HEAP32[(32632)>>2]|0; _glBindBuffer(34962,($82|0)); - $83 = HEAP32[(32324)>>2]|0; + $83 = HEAP32[(32612)>>2]|0; _glBufferData(34962,49152,($83|0),35048); - $84 = HEAP32[(31116)>>2]|0; + $84 = HEAP32[(31404)>>2]|0; _glEnableVertexAttribArray(($84|0)); - $85 = HEAP32[(31116)>>2]|0; + $85 = HEAP32[(31404)>>2]|0; _glVertexAttribPointer(($85|0),3,5126,0,0,(0|0)); - _glGenBuffers(1,((32348)|0)); - $86 = HEAP32[(32348)>>2]|0; + _glGenBuffers(1,((32636)|0)); + $86 = HEAP32[(32636)>>2]|0; _glBindBuffer(34962,($86|0)); - $87 = HEAP32[(32328)>>2]|0; + $87 = HEAP32[(32616)>>2]|0; _glBufferData(34962,32768,($87|0),35048); - $88 = HEAP32[(31120)>>2]|0; + $88 = HEAP32[(31408)>>2]|0; _glEnableVertexAttribArray(($88|0)); - $89 = HEAP32[(31120)>>2]|0; + $89 = HEAP32[(31408)>>2]|0; _glVertexAttribPointer(($89|0),2,5126,0,0,(0|0)); - _glGenBuffers(1,((32352)|0)); - $90 = HEAP32[(32352)>>2]|0; + _glGenBuffers(1,((32640)|0)); + $90 = HEAP32[(32640)>>2]|0; _glBindBuffer(34962,($90|0)); - $91 = HEAP32[(32332)>>2]|0; + $91 = HEAP32[(32620)>>2]|0; _glBufferData(34962,16384,($91|0),35048); - $92 = HEAP32[(31136)>>2]|0; + $92 = HEAP32[(31424)>>2]|0; _glEnableVertexAttribArray(($92|0)); - $93 = HEAP32[(31136)>>2]|0; + $93 = HEAP32[(31424)>>2]|0; _glVertexAttribPointer(($93|0),4,5121,1,0,(0|0)); - _glGenBuffers(1,((32356)|0)); - $94 = HEAP32[(32356)>>2]|0; + _glGenBuffers(1,((32644)|0)); + $94 = HEAP32[(32644)>>2]|0; _glBindBuffer(34963,($94|0)); - $95 = HEAP32[(32336)>>2]|0; + $95 = HEAP32[(32624)>>2]|0; _glBufferData(34963,12288,($95|0),35044); - $96 = HEAP32[7756]|0; + $96 = HEAP32[7828]|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; + $99 = HEAP32[(32632)>>2]|0; + $100 = HEAP32[(32636)>>2]|0; + $101 = HEAP32[(32640)>>2]|0; + $102 = HEAP32[(32644)>>2]|0; HEAP32[$vararg_buffer17>>2] = $99; $vararg_ptr20 = ((($vararg_buffer17)) + 4|0); HEAP32[$vararg_ptr20>>2] = $100; @@ -15646,18 +19850,18 @@ function _LoadDefaultBuffers() { HEAP32[$vararg_ptr21>>2] = $101; $vararg_ptr22 = ((($vararg_buffer17)) + 12|0); HEAP32[$vararg_ptr22>>2] = $102; - _TraceLog(0,6209,$vararg_buffer17); + _TraceLog(0,6101,$vararg_buffer17); } else { - $98 = HEAP32[(32340)>>2]|0; + $98 = HEAP32[(32628)>>2]|0; HEAP32[$vararg_buffer14>>2] = $98; - _TraceLog(0,6144,$vararg_buffer14); + _TraceLog(0,6036,$vararg_buffer14); } - $103 = HEAP32[7756]|0; + $103 = HEAP32[7828]|0; $104 = ($103|0)==(0); if ($104) { STACKTOP = sp;return; } - $105 = HEAP32[7758]|0; + $105 = HEAP32[7830]|0; FUNCTION_TABLE_vi[$105 & 31](0); STACKTOP = sp;return; } @@ -15694,10 +19898,10 @@ function _LoadShaderProgram($0,$1) { $9 = ($8|0)==(1); if ($9) { HEAP32[$vararg_buffer4>>2] = $6; - _TraceLog(0,7542,$vararg_buffer4); + _TraceLog(0,7434,$vararg_buffer4); } else { HEAP32[$vararg_buffer>>2] = $6; - _TraceLog(2,7490,$vararg_buffer); + _TraceLog(2,7382,$vararg_buffer); HEAP32[$vararg_buffer>>2] = 0; _glGetShaderiv(($6|0),35716,($vararg_buffer|0)); $10 = HEAP32[$vararg_buffer>>2]|0; @@ -15707,7 +19911,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,7539,$vararg_buffer1); + _TraceLog(0,7431,$vararg_buffer1); _llvm_stackrestore(($11|0)); } _glCompileShader(($7|0)); @@ -15716,10 +19920,10 @@ function _LoadShaderProgram($0,$1) { $15 = ($14|0)==(1); if ($15) { HEAP32[$vararg_buffer13>>2] = $7; - _TraceLog(0,7643,$vararg_buffer13); + _TraceLog(0,7535,$vararg_buffer13); } else { HEAP32[$vararg_buffer7>>2] = $7; - _TraceLog(2,7592,$vararg_buffer7); + _TraceLog(2,7484,$vararg_buffer7); HEAP32[$vararg_buffer7>>2] = 0; _glGetShaderiv(($7|0),35716,($vararg_buffer7|0)); $16 = HEAP32[$vararg_buffer7>>2]|0; @@ -15729,25 +19933,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,7539,$vararg_buffer10); + _TraceLog(0,7431,$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)); + _glBindAttribLocation(($20|0),0,(7226|0)); + _glBindAttribLocation(($20|0),1,(7241|0)); + _glBindAttribLocation(($20|0),2,(7272|0)); + _glBindAttribLocation(($20|0),3,(7299|0)); + _glBindAttribLocation(($20|0),4,(7285|0)); + _glBindAttribLocation(($20|0),5,(7256|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); + _TraceLog(2,7587,$vararg_buffer16); HEAP32[$vararg_buffer16>>2] = 0; _glGetProgramiv(($20|0),35716,($vararg_buffer16|0)); $23 = HEAP32[$vararg_buffer16>>2]|0; @@ -15757,7 +19961,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,7539,$vararg_buffer19); + _TraceLog(0,7431,$vararg_buffer19); _glDeleteProgram(($20|0)); _llvm_stackrestore(($24|0)); $$0 = 0; @@ -15766,7 +19970,7 @@ function _LoadShaderProgram($0,$1) { STACKTOP = sp;return ($$0|0); } else { HEAP32[$vararg_buffer22>>2] = $20; - _TraceLog(0,7741,$vararg_buffer22); + _TraceLog(0,7633,$vararg_buffer22); $$0 = $20; _glDeleteShader(($6|0)); _glDeleteShader(($7|0)); @@ -15781,55 +19985,55 @@ function _LoadDefaultShaderLocations($0) { var sp = 0; sp = STACKTOP; $1 = HEAP32[$0>>2]|0; - $2 = (_glGetAttribLocation(($1|0),(7334|0))|0); + $2 = (_glGetAttribLocation(($1|0),(7226|0))|0); $3 = ((($0)) + 4|0); HEAP32[$3>>2] = $2; $4 = HEAP32[$0>>2]|0; - $5 = (_glGetAttribLocation(($4|0),(7349|0))|0); + $5 = (_glGetAttribLocation(($4|0),(7241|0))|0); $6 = ((($0)) + 8|0); HEAP32[$6>>2] = $5; $7 = HEAP32[$0>>2]|0; - $8 = (_glGetAttribLocation(($7|0),(7364|0))|0); + $8 = (_glGetAttribLocation(($7|0),(7256|0))|0); $9 = ((($0)) + 12|0); HEAP32[$9>>2] = $8; $10 = HEAP32[$0>>2]|0; - $11 = (_glGetAttribLocation(($10|0),(7380|0))|0); + $11 = (_glGetAttribLocation(($10|0),(7272|0))|0); $12 = ((($0)) + 16|0); HEAP32[$12>>2] = $11; $13 = HEAP32[$0>>2]|0; - $14 = (_glGetAttribLocation(($13|0),(7393|0))|0); + $14 = (_glGetAttribLocation(($13|0),(7285|0))|0); $15 = ((($0)) + 20|0); HEAP32[$15>>2] = $14; $16 = HEAP32[$0>>2]|0; - $17 = (_glGetAttribLocation(($16|0),(7407|0))|0); + $17 = (_glGetAttribLocation(($16|0),(7299|0))|0); $18 = ((($0)) + 24|0); HEAP32[$18>>2] = $17; $19 = HEAP32[$0>>2]|0; - $20 = (_glGetUniformLocation(($19|0),(7419|0))|0); + $20 = (_glGetUniformLocation(($19|0),(7311|0))|0); $21 = ((($0)) + 28|0); HEAP32[$21>>2] = $20; $22 = HEAP32[$0>>2]|0; - $23 = (_glGetUniformLocation(($22|0),(7429|0))|0); + $23 = (_glGetUniformLocation(($22|0),(7321|0))|0); $24 = ((($0)) + 32|0); HEAP32[$24>>2] = $23; $25 = HEAP32[$0>>2]|0; - $26 = (_glGetUniformLocation(($25|0),(7440|0))|0); + $26 = (_glGetUniformLocation(($25|0),(7332|0))|0); $27 = ((($0)) + 36|0); HEAP32[$27>>2] = $26; $28 = HEAP32[$0>>2]|0; - $29 = (_glGetUniformLocation(($28|0),(7451|0))|0); + $29 = (_glGetUniformLocation(($28|0),(7343|0))|0); $30 = ((($0)) + 40|0); HEAP32[$30>>2] = $29; $31 = HEAP32[$0>>2]|0; - $32 = (_glGetUniformLocation(($31|0),(7463|0))|0); + $32 = (_glGetUniformLocation(($31|0),(7355|0))|0); $33 = ((($0)) + 44|0); HEAP32[$33>>2] = $32; $34 = HEAP32[$0>>2]|0; - $35 = (_glGetUniformLocation(($34|0),(7472|0))|0); + $35 = (_glGetUniformLocation(($34|0),(7364|0))|0); $36 = ((($0)) + 48|0); HEAP32[$36>>2] = $35; $37 = HEAP32[$0>>2]|0; - $38 = (_glGetUniformLocation(($37|0),(7481|0))|0); + $38 = (_glGetUniformLocation(($37|0),(7373|0))|0); $39 = ((($0)) + 52|0); HEAP32[$39>>2] = $38; return; @@ -15838,9 +20042,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 = (33513 + ($0)|0); + $1 = (35953 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (33516 + ($0)|0); + $3 = (35956 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -15852,9 +20056,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 = (33513 + ($0)|0); + $1 = (35953 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (33516 + ($0)|0); + $3 = (35956 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(0); @@ -15875,10 +20079,10 @@ function _CloseWindow() { $vararg_buffer = sp; _UnloadDefaultFont(); _rlglClose(); - $0 = HEAP32[7675]|0; + $0 = HEAP32[7747]|0; _glfwDestroyWindow(($0|0)); _glfwTerminate(); - _TraceLog(0,8053,$vararg_buffer); + _TraceLog(0,7945,$vararg_buffer); STACKTOP = sp;return; } function _UnloadDefaultFont() { @@ -15886,9 +20090,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[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; + ;HEAP32[$$byval_copy>>2]=HEAP32[31028>>2]|0;HEAP32[$$byval_copy+4>>2]=HEAP32[31028+4>>2]|0;HEAP32[$$byval_copy+8>>2]=HEAP32[31028+8>>2]|0;HEAP32[$$byval_copy+12>>2]=HEAP32[31028+12>>2]|0;HEAP32[$$byval_copy+16>>2]=HEAP32[31028+16>>2]|0; _UnloadTexture($$byval_copy); - $0 = HEAP32[(30768)>>2]|0; + $0 = HEAP32[(31056)>>2]|0; _free($0); STACKTOP = sp;return; } @@ -15899,11 +20103,11 @@ function _rlglClose() { $vararg_buffer = sp; _UnloadDefaultShader(); _UnloadDefaultBuffers(); - _glDeleteTextures(1,(31052|0)); - $0 = HEAP32[7763]|0; + _glDeleteTextures(1,(31340|0)); + $0 = HEAP32[7835]|0; HEAP32[$vararg_buffer>>2] = $0; - _TraceLog(0,8080,$vararg_buffer); - $1 = HEAP32[7793]|0; + _TraceLog(0,7972,$vararg_buffer); + $1 = HEAP32[7865]|0; _free($1); STACKTOP = sp;return; } @@ -15911,17 +20115,17 @@ function _UnloadDefaultShader() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; _glUseProgram(0); - $0 = HEAP32[7764]|0; + $0 = HEAP32[7836]|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; + $0 = HEAP32[7828]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[7758]|0; + $2 = HEAP32[7830]|0; FUNCTION_TABLE_vi[$2 & 31](0); } _glDisableVertexAttribArray(0); @@ -15930,39 +20134,39 @@ function _UnloadDefaultBuffers() { _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; + _glDeleteBuffers(1,((32536)|0)); + _glDeleteBuffers(1,((32540)|0)); + _glDeleteBuffers(1,((32584)|0)); + _glDeleteBuffers(1,((32588)|0)); + _glDeleteBuffers(1,((32632)|0)); + _glDeleteBuffers(1,((32636)|0)); + _glDeleteBuffers(1,((32640)|0)); + _glDeleteBuffers(1,((32644)|0)); + $3 = HEAP32[7828]|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; + $5 = HEAP32[7831]|0; + FUNCTION_TABLE_vii[$5 & 63](1,(32532)); + $6 = HEAP32[7831]|0; + FUNCTION_TABLE_vii[$6 & 63](1,(32580)); + $7 = HEAP32[7831]|0; + FUNCTION_TABLE_vii[$7 & 63](1,(32628)); + } + $8 = HEAP32[(32516)>>2]|0; _free($8); - $9 = HEAP32[(32236)>>2]|0; + $9 = HEAP32[(32524)>>2]|0; _free($9); - $10 = HEAP32[(32276)>>2]|0; + $10 = HEAP32[(32564)>>2]|0; _free($10); - $11 = HEAP32[(32284)>>2]|0; + $11 = HEAP32[(32572)>>2]|0; _free($11); - $12 = HEAP32[(32324)>>2]|0; + $12 = HEAP32[(32612)>>2]|0; _free($12); - $13 = HEAP32[(32328)>>2]|0; + $13 = HEAP32[(32616)>>2]|0; _free($13); - $14 = HEAP32[(32332)>>2]|0; + $14 = HEAP32[(32620)>>2]|0; _free($14); - $15 = HEAP32[(32336)>>2]|0; + $15 = HEAP32[(32624)>>2]|0; _free($15); return; } @@ -15980,7 +20184,7 @@ function _UnloadTexture($0) { _rlDeleteTextures($1); $3 = HEAP32[$0>>2]|0; HEAP32[$vararg_buffer>>2] = $3; - _TraceLog(0,8145,$vararg_buffer); + _TraceLog(0,8037,$vararg_buffer); STACKTOP = sp;return; } function _rlDeleteTextures($0) { @@ -15996,41 +20200,22 @@ function _rlDeleteTextures($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]; + HEAPF64[1780] = $0; + $1 = +HEAPF64[1763]; $2 = $0 - $1; - HEAPF64[1746] = $2; - HEAPF64[1728] = $0; + HEAPF64[1781] = $2; + HEAPF64[1763] = $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)); + dest=$downscaleView$byval_copy; src=31084; stop=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); + _rlMultMatrixf(32656); STACKTOP = sp;return; } function _MatrixToFloat($0) { @@ -16039,53 +20224,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[8092] = $1; + HEAP32[8164] = $1; $2 = ((($0)) + 4|0); $3 = HEAP32[$2>>2]|0; - HEAP32[(32372)>>2] = $3; + HEAP32[(32660)>>2] = $3; $4 = ((($0)) + 8|0); $5 = HEAP32[$4>>2]|0; - HEAP32[(32376)>>2] = $5; + HEAP32[(32664)>>2] = $5; $6 = ((($0)) + 12|0); $7 = HEAP32[$6>>2]|0; - HEAP32[(32380)>>2] = $7; + HEAP32[(32668)>>2] = $7; $8 = ((($0)) + 16|0); $9 = HEAP32[$8>>2]|0; - HEAP32[(32384)>>2] = $9; + HEAP32[(32672)>>2] = $9; $10 = ((($0)) + 20|0); $11 = HEAP32[$10>>2]|0; - HEAP32[(32388)>>2] = $11; + HEAP32[(32676)>>2] = $11; $12 = ((($0)) + 24|0); $13 = HEAP32[$12>>2]|0; - HEAP32[(32392)>>2] = $13; + HEAP32[(32680)>>2] = $13; $14 = ((($0)) + 28|0); $15 = HEAP32[$14>>2]|0; - HEAP32[(32396)>>2] = $15; + HEAP32[(32684)>>2] = $15; $16 = ((($0)) + 32|0); $17 = HEAP32[$16>>2]|0; - HEAP32[(32400)>>2] = $17; + HEAP32[(32688)>>2] = $17; $18 = ((($0)) + 36|0); $19 = HEAP32[$18>>2]|0; - HEAP32[(32404)>>2] = $19; + HEAP32[(32692)>>2] = $19; $20 = ((($0)) + 40|0); $21 = HEAP32[$20>>2]|0; - HEAP32[(32408)>>2] = $21; + HEAP32[(32696)>>2] = $21; $22 = ((($0)) + 44|0); $23 = HEAP32[$22>>2]|0; - HEAP32[(32412)>>2] = $23; + HEAP32[(32700)>>2] = $23; $24 = ((($0)) + 48|0); $25 = HEAP32[$24>>2]|0; - HEAP32[(32416)>>2] = $25; + HEAP32[(32704)>>2] = $25; $26 = ((($0)) + 52|0); $27 = HEAP32[$26>>2]|0; - HEAP32[(32420)>>2] = $27; + HEAP32[(32708)>>2] = $27; $28 = ((($0)) + 56|0); $29 = HEAP32[$28>>2]|0; - HEAP32[(32424)>>2] = $29; + HEAP32[(32712)>>2] = $29; $30 = ((($0)) + 60|0); $31 = HEAP32[$30>>2]|0; - HEAP32[(32428)>>2] = $31; - return (32368|0); + HEAP32[(32716)>>2] = $31; + return (32656|0); } function _rlMultMatrixf($0) { $0 = $0|0; @@ -16160,7 +20345,7 @@ function _rlMultMatrixf($0) { $47 = ((($0)) + 60|0); $48 = HEAP32[$47>>2]|0; HEAP32[$46>>2] = $48; - $49 = HEAP32[7722]|0; + $49 = HEAP32[7794]|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); @@ -16174,15 +20359,15 @@ function _EndDrawing() { _SwapBuffers(); _PollInputEvents(); $0 = (+_GetTime()); - HEAPF64[1745] = $0; - $1 = +HEAPF64[1728]; + HEAPF64[1780] = $0; + $1 = +HEAPF64[1763]; $2 = $0 - $1; - HEAPF64[1747] = $2; - HEAPF64[1728] = $0; - $3 = +HEAPF64[1746]; + HEAPF64[1782] = $2; + HEAPF64[1763] = $0; + $3 = +HEAPF64[1781]; $4 = $2 + $3; - HEAPF64[1748] = $4; - $5 = +HEAPF64[1725]; + HEAPF64[1783] = $4; + $5 = +HEAPF64[1760]; $6 = $4 < $5; if (!($6)) { return; @@ -16192,13 +20377,13 @@ function _EndDrawing() { $9 = $8; _Wait($9); $10 = (+_GetTime()); - HEAPF64[1745] = $10; - $11 = +HEAPF64[1728]; + HEAPF64[1780] = $10; + $11 = +HEAPF64[1763]; $12 = $10 - $11; - HEAPF64[1728] = $10; - $13 = +HEAPF64[1748]; + HEAPF64[1763] = $10; + $13 = +HEAPF64[1783]; $14 = $12 + $13; - HEAPF64[1748] = $14; + HEAPF64[1783] = $14; return; } function _rlglDraw() { @@ -16211,7 +20396,7 @@ function _rlglDraw() { function _SwapBuffers() { var $0 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[7675]|0; + $0 = HEAP32[7747]|0; _glfwSwapBuffers(($0|0)); return; } @@ -16225,22 +20410,22 @@ function _PollInputEvents() { $1 = sp + 1432|0; $2 = sp; _UpdateGestures(); - HEAP32[740] = -1; - HEAP32[742] = -1; - HEAP32[8108] = 0; - $3 = HEAP32[7675]|0; + HEAP32[743] = -1; + HEAP32[745] = -1; + HEAP32[8180] = 0; + $3 = HEAP32[7747]|0; _glfwGetCursorPos(($3|0),($0|0),($1|0)); $4 = +HEAPF64[$0>>3]; $5 = $4; - HEAPF32[3448] = $5; + HEAPF32[3518] = $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; + HEAPF32[(14076)>>2] = $7; + _memcpy((36471|0),(35959|0),512)|0; + ;HEAP8[35956>>0]=HEAP8[35953>>0]|0;HEAP8[35956+1>>0]=HEAP8[35953+1>>0]|0;HEAP8[35956+2>>0]=HEAP8[35953+2>>0]|0; + $8 = HEAP32[8163]|0; + HEAP32[7750] = $8; + HEAP32[8163] = 0; $9 = (_emscripten_get_num_gamepads()|0); $10 = ($9|0)>(0); if (!($10)) { @@ -16250,8 +20435,8 @@ function _PollInputEvents() { $12 = ((($2)) + 8|0); $$05160 = 0; while(1) { - $scevgep = (34543 + ($$05160<<5)|0); - $scevgep67 = (34671 + ($$05160<<5)|0); + $scevgep = (36983 + ($$05160<<5)|0); + $scevgep67 = (37111 + ($$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); @@ -16265,10 +20450,10 @@ function _PollInputEvents() { $21 = (((($2)) + 1040|0) + ($$04857<<2)|0); $22 = HEAP32[$21>>2]|0; $23 = ($22|0)==(1); - $24 = ((34671 + ($$05160<<5)|0) + ($$04857)|0); + $24 = ((37111 + ($$05160<<5)|0) + ($$04857)|0); if ($23) { HEAP8[$24>>0] = 1; - HEAP32[742] = $$04857; + HEAP32[745] = $$04857; } else { HEAP8[$24>>0] = 0; } @@ -16292,7 +20477,7 @@ function _PollInputEvents() { $29 = (((($2)) + 16|0) + ($$058<<3)|0); $30 = +HEAPF64[$29>>3]; $31 = $30; - $32 = ((32436 + ($$05160<<5)|0) + ($$058<<2)|0); + $32 = ((32724 + ($$05160<<5)|0) + ($$058<<2)|0); HEAPF32[$32>>2] = $31; $33 = (($$058) + 1)|0; $34 = ($33|0)<($20|0); @@ -16308,7 +20493,7 @@ function _PollInputEvents() { } else { $$lcssa = $18; } - HEAP32[8108] = $$lcssa; + HEAP32[8180] = $$lcssa; } $37 = (($$05160) + 1)|0; $38 = ($37|0)<($9|0); @@ -16349,87 +20534,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[8054]|0; + $0 = HEAP32[8126]|0; $1 = ($0|0)>(0); if ($1) { - $2 = HEAP32[7756]|0; + $2 = HEAP32[7828]|0; $3 = ($2|0)==(0); if (!($3)) { - $4 = HEAP32[7758]|0; - $5 = HEAP32[(32244)>>2]|0; + $4 = HEAP32[7830]|0; + $5 = HEAP32[(32532)>>2]|0; FUNCTION_TABLE_vi[$4 & 31]($5); } - $6 = HEAP32[(32248)>>2]|0; + $6 = HEAP32[(32536)>>2]|0; _glBindBuffer(34962,($6|0)); - $7 = HEAP32[8054]|0; + $7 = HEAP32[8126]|0; $8 = ($7*12)|0; - $9 = HEAP32[(32228)>>2]|0; + $9 = HEAP32[(32516)>>2]|0; _glBufferSubData(34962,0,($8|0),($9|0)); - $10 = HEAP32[(32252)>>2]|0; + $10 = HEAP32[(32540)>>2]|0; _glBindBuffer(34962,($10|0)); - $11 = HEAP32[(32224)>>2]|0; + $11 = HEAP32[(32512)>>2]|0; $12 = $11 << 2; - $13 = HEAP32[(32236)>>2]|0; + $13 = HEAP32[(32524)>>2]|0; _glBufferSubData(34962,0,($12|0),($13|0)); } - $14 = HEAP32[8066]|0; + $14 = HEAP32[8138]|0; $15 = ($14|0)>(0); if ($15) { - $16 = HEAP32[7756]|0; + $16 = HEAP32[7828]|0; $17 = ($16|0)==(0); if (!($17)) { - $18 = HEAP32[7758]|0; - $19 = HEAP32[(32292)>>2]|0; + $18 = HEAP32[7830]|0; + $19 = HEAP32[(32580)>>2]|0; FUNCTION_TABLE_vi[$18 & 31]($19); } - $20 = HEAP32[(32296)>>2]|0; + $20 = HEAP32[(32584)>>2]|0; _glBindBuffer(34962,($20|0)); - $21 = HEAP32[8066]|0; + $21 = HEAP32[8138]|0; $22 = ($21*12)|0; - $23 = HEAP32[(32276)>>2]|0; + $23 = HEAP32[(32564)>>2]|0; _glBufferSubData(34962,0,($22|0),($23|0)); - $24 = HEAP32[(32300)>>2]|0; + $24 = HEAP32[(32588)>>2]|0; _glBindBuffer(34962,($24|0)); - $25 = HEAP32[(32272)>>2]|0; + $25 = HEAP32[(32560)>>2]|0; $26 = $25 << 2; - $27 = HEAP32[(32284)>>2]|0; + $27 = HEAP32[(32572)>>2]|0; _glBufferSubData(34962,0,($26|0),($27|0)); } - $28 = HEAP32[8078]|0; + $28 = HEAP32[8150]|0; $29 = ($28|0)>(0); if ($29) { - $30 = HEAP32[7756]|0; + $30 = HEAP32[7828]|0; $31 = ($30|0)==(0); if (!($31)) { - $32 = HEAP32[7758]|0; - $33 = HEAP32[(32340)>>2]|0; + $32 = HEAP32[7830]|0; + $33 = HEAP32[(32628)>>2]|0; FUNCTION_TABLE_vi[$32 & 31]($33); } - $34 = HEAP32[(32344)>>2]|0; + $34 = HEAP32[(32632)>>2]|0; _glBindBuffer(34962,($34|0)); - $35 = HEAP32[8078]|0; + $35 = HEAP32[8150]|0; $36 = ($35*12)|0; - $37 = HEAP32[(32324)>>2]|0; + $37 = HEAP32[(32612)>>2]|0; _glBufferSubData(34962,0,($36|0),($37|0)); - $38 = HEAP32[(32348)>>2]|0; + $38 = HEAP32[(32636)>>2]|0; _glBindBuffer(34962,($38|0)); - $39 = HEAP32[8078]|0; + $39 = HEAP32[8150]|0; $40 = $39 << 3; - $41 = HEAP32[(32328)>>2]|0; + $41 = HEAP32[(32616)>>2]|0; _glBufferSubData(34962,0,($40|0),($41|0)); - $42 = HEAP32[(32352)>>2]|0; + $42 = HEAP32[(32640)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[8078]|0; + $43 = HEAP32[8150]|0; $44 = $43 << 2; - $45 = HEAP32[(32332)>>2]|0; + $45 = HEAP32[(32620)>>2]|0; _glBufferSubData(34962,0,($44|0),($45|0)); } - $46 = HEAP32[7756]|0; + $46 = HEAP32[7828]|0; $47 = ($46|0)==(0); if ($47) { return; } - $48 = HEAP32[7758]|0; + $48 = HEAP32[7830]|0; FUNCTION_TABLE_vi[$48 & 31](0); return; } @@ -16447,9 +20632,9 @@ function _DrawDefaultBuffers() { $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; + dest=$0; src=31180; stop=dest+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=31244; stop=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[8213]|0; $4 = ($3|0)!=(0); $$ = $4 ? 2 : 1; $$02932 = 0; @@ -16459,134 +20644,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[8054]|0; + $8 = HEAP32[8126]|0; $9 = ($8|0)>(0); - $10 = HEAP32[8066]|0; + $10 = HEAP32[8138]|0; $11 = ($10|0)>(0); $or$cond = $9 | $11; - $12 = HEAP32[8078]|0; + $12 = HEAP32[8150]|0; $13 = ($12|0)>(0); $or$cond3 = $or$cond | $13; if ($or$cond3) { - $14 = HEAP32[7778]|0; + $14 = HEAP32[7850]|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)); + dest=$modelview$byval_copy; src=31244; stop=dest+64|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=31180; stop=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; + $15 = HEAP32[(31428)>>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; + $17 = HEAP32[(31432)>>2]|0; _glUniform4f(($17|0),1.0,1.0,1.0,1.0); - $18 = HEAP32[(31156)>>2]|0; + $18 = HEAP32[(31444)>>2]|0; _glUniform1i(($18|0),0); } - $19 = HEAP32[8054]|0; + $19 = HEAP32[8126]|0; $20 = ($19|0)>(0); if ($20) { - $21 = HEAP32[7763]|0; + $21 = HEAP32[7835]|0; _glBindTexture(3553,($21|0)); - $22 = HEAP32[7756]|0; + $22 = HEAP32[7828]|0; $23 = ($22|0)==(0); if ($23) { - $26 = HEAP32[(32248)>>2]|0; + $26 = HEAP32[(32536)>>2]|0; _glBindBuffer(34962,($26|0)); - $27 = HEAP32[(31116)>>2]|0; + $27 = HEAP32[(31404)>>2]|0; _glVertexAttribPointer(($27|0),3,5126,0,0,(0|0)); - $28 = HEAP32[(31116)>>2]|0; + $28 = HEAP32[(31404)>>2]|0; _glEnableVertexAttribArray(($28|0)); - $29 = HEAP32[(32252)>>2]|0; + $29 = HEAP32[(32540)>>2]|0; _glBindBuffer(34962,($29|0)); - $30 = HEAP32[(31136)>>2]|0; + $30 = HEAP32[(31424)>>2]|0; _glVertexAttribPointer(($30|0),4,5121,1,0,(0|0)); - $31 = HEAP32[(31136)>>2]|0; + $31 = HEAP32[(31424)>>2]|0; _glEnableVertexAttribArray(($31|0)); } else { - $24 = HEAP32[7758]|0; - $25 = HEAP32[(32244)>>2]|0; + $24 = HEAP32[7830]|0; + $25 = HEAP32[(32532)>>2]|0; FUNCTION_TABLE_vi[$24 & 31]($25); } - $32 = HEAP32[8054]|0; + $32 = HEAP32[8126]|0; _glDrawArrays(1,0,($32|0)); - $33 = HEAP32[7756]|0; + $33 = HEAP32[7828]|0; $34 = ($33|0)==(0); if ($34) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $35 = HEAP32[8066]|0; + $35 = HEAP32[8138]|0; $36 = ($35|0)>(0); if ($36) { - $37 = HEAP32[7763]|0; + $37 = HEAP32[7835]|0; _glBindTexture(3553,($37|0)); - $38 = HEAP32[7756]|0; + $38 = HEAP32[7828]|0; $39 = ($38|0)==(0); if ($39) { - $42 = HEAP32[(32296)>>2]|0; + $42 = HEAP32[(32584)>>2]|0; _glBindBuffer(34962,($42|0)); - $43 = HEAP32[(31116)>>2]|0; + $43 = HEAP32[(31404)>>2]|0; _glVertexAttribPointer(($43|0),3,5126,0,0,(0|0)); - $44 = HEAP32[(31116)>>2]|0; + $44 = HEAP32[(31404)>>2]|0; _glEnableVertexAttribArray(($44|0)); - $45 = HEAP32[(32300)>>2]|0; + $45 = HEAP32[(32588)>>2]|0; _glBindBuffer(34962,($45|0)); - $46 = HEAP32[(31136)>>2]|0; + $46 = HEAP32[(31424)>>2]|0; _glVertexAttribPointer(($46|0),4,5121,1,0,(0|0)); - $47 = HEAP32[(31136)>>2]|0; + $47 = HEAP32[(31424)>>2]|0; _glEnableVertexAttribArray(($47|0)); } else { - $40 = HEAP32[7758]|0; - $41 = HEAP32[(32292)>>2]|0; + $40 = HEAP32[7830]|0; + $41 = HEAP32[(32580)>>2]|0; FUNCTION_TABLE_vi[$40 & 31]($41); } - $48 = HEAP32[8066]|0; + $48 = HEAP32[8138]|0; _glDrawArrays(4,0,($48|0)); - $49 = HEAP32[7756]|0; + $49 = HEAP32[7828]|0; $50 = ($49|0)==(0); if ($50) { _glBindBuffer(34962,0); } _glBindTexture(3553,0); } - $51 = HEAP32[8078]|0; + $51 = HEAP32[8150]|0; $52 = ($51|0)>(0); if ($52) { - $53 = HEAP32[7756]|0; + $53 = HEAP32[7828]|0; $54 = ($53|0)==(0); if ($54) { - $57 = HEAP32[(32344)>>2]|0; + $57 = HEAP32[(32632)>>2]|0; _glBindBuffer(34962,($57|0)); - $58 = HEAP32[(31116)>>2]|0; + $58 = HEAP32[(31404)>>2]|0; _glVertexAttribPointer(($58|0),3,5126,0,0,(0|0)); - $59 = HEAP32[(31116)>>2]|0; + $59 = HEAP32[(31404)>>2]|0; _glEnableVertexAttribArray(($59|0)); - $60 = HEAP32[(32348)>>2]|0; + $60 = HEAP32[(32636)>>2]|0; _glBindBuffer(34962,($60|0)); - $61 = HEAP32[(31120)>>2]|0; + $61 = HEAP32[(31408)>>2]|0; _glVertexAttribPointer(($61|0),2,5126,0,0,(0|0)); - $62 = HEAP32[(31120)>>2]|0; + $62 = HEAP32[(31408)>>2]|0; _glEnableVertexAttribArray(($62|0)); - $63 = HEAP32[(32352)>>2]|0; + $63 = HEAP32[(32640)>>2]|0; _glBindBuffer(34962,($63|0)); - $64 = HEAP32[(31136)>>2]|0; + $64 = HEAP32[(31424)>>2]|0; _glVertexAttribPointer(($64|0),4,5121,1,0,(0|0)); - $65 = HEAP32[(31136)>>2]|0; + $65 = HEAP32[(31424)>>2]|0; _glEnableVertexAttribArray(($65|0)); - $66 = HEAP32[(32356)>>2]|0; + $66 = HEAP32[(32644)>>2]|0; _glBindBuffer(34963,($66|0)); } else { - $55 = HEAP32[7758]|0; - $56 = HEAP32[(32340)>>2]|0; + $55 = HEAP32[7830]|0; + $56 = HEAP32[(32628)>>2]|0; FUNCTION_TABLE_vi[$55 & 31]($56); } - $67 = HEAP32[7794]|0; + $67 = HEAP32[7866]|0; $68 = ($67|0)>(0); if ($68) { $$02830 = 0;$$031 = 0; while(1) { - $71 = HEAP32[7793]|0; + $71 = HEAP32[7865]|0; $72 = (($71) + (($$031*144)|0)|0); $73 = HEAP32[$72>>2]|0; $74 = (($73|0) / 4)&-1; @@ -16597,14 +20782,14 @@ function _DrawDefaultBuffers() { $78 = $$02830 << 1; $79 = $78; _glDrawElements(4,($75|0),5123,($79|0)); - $80 = HEAP32[7793]|0; + $80 = HEAP32[7865]|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; + $87 = HEAP32[7866]|0; $88 = ($86|0)<($87|0); if ($88) { $$02830 = $85;$$031 = $86; @@ -16613,7 +20798,7 @@ function _DrawDefaultBuffers() { } } } - $69 = HEAP32[7756]|0; + $69 = HEAP32[7828]|0; $70 = ($69|0)==(0); if ($70) { _glBindBuffer(34962,0); @@ -16621,10 +20806,10 @@ function _DrawDefaultBuffers() { } _glBindTexture(3553,0); } - $89 = HEAP32[7756]|0; + $89 = HEAP32[7828]|0; $90 = ($89|0)==(0); if (!($90)) { - $91 = HEAP32[7758]|0; + $91 = HEAP32[7830]|0; FUNCTION_TABLE_vi[$91 & 31](0); } _glUseProgram(0); @@ -16636,22 +20821,22 @@ function _DrawDefaultBuffers() { break; } } - HEAP32[7794] = 1; - $5 = HEAP32[7763]|0; - $6 = HEAP32[7793]|0; + HEAP32[7866] = 1; + $5 = HEAP32[7835]|0; + $6 = HEAP32[7865]|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)); + HEAP32[8126] = 0; + HEAP32[(32512)>>2] = 0; + HEAP32[8138] = 0; + HEAP32[(32560)>>2] = 0; + HEAP32[8150] = 0; + HEAP32[(32604)>>2] = 0; + HEAP32[(32608)>>2] = 0; + HEAPF32[746] = -1.0; + dest=31180; 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=31244; 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) { @@ -16666,17 +20851,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[8052]|0; + $5 = HEAP32[8124]|0; $6 = Math_imul($5, $0)|0; $7 = (($6|0) / 2)&-1; $8 = (($5|0) / 2)&-1; - $9 = HEAP32[8053]|0; + $9 = HEAP32[8125]|0; _rlViewport($7,0,$8,$9); - $10 = (32796 + ($0<<6)|0); + $10 = (33084 + ($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); + $11 = (32956 + ($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); @@ -16688,14 +20873,14 @@ 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)); + dest=31244; 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)); + dest=31180; 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() { @@ -16703,43 +20888,43 @@ function _rlPushMatrix() { sp = STACKTOP; STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); $vararg_buffer = sp; - $0 = HEAP32[8231]|0; + $0 = HEAP32[8303]|0; $1 = ($0|0)==(15); if ($1) { HEAP32[$vararg_buffer>>2] = 16; - _TraceLog(1,8195,$vararg_buffer); + _TraceLog(1,8087,$vararg_buffer); } - $2 = HEAP32[8231]|0; - $3 = (31184 + ($2<<6)|0); - $4 = HEAP32[7722]|0; + $2 = HEAP32[8303]|0; + $3 = (31472 + ($2<<6)|0); + $4 = HEAP32[7794]|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; + $5 = HEAP32[8303]|0; $6 = (($5) + 1)|0; - HEAP32[8231] = $6; - $7 = HEAP32[7755]|0; + HEAP32[8303] = $6; + $7 = HEAP32[7827]|0; $8 = ($7|0)==(5888); if (!($8)) { STACKTOP = sp;return; } - HEAP32[8232] = 1; + HEAP32[8304] = 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; + $0 = HEAP32[8303]|0; $1 = ($0|0)>(0); if (!($1)) { return; } - $2 = HEAP32[8231]|0; + $2 = HEAP32[8303]|0; $3 = (($2) + -1)|0; - $4 = (31184 + ($3<<6)|0); - $5 = HEAP32[7722]|0; + $4 = (31472 + ($3<<6)|0); + $5 = HEAP32[7794]|0; _memmove(($5|0),($4|0),64)|0; $6 = (($2) + -1)|0; - HEAP32[8231] = $6; + HEAP32[8303] = $6; return; } function _GetRandomValue($0,$1) { @@ -16764,28 +20949,28 @@ 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; + HEAP8[35952] = $0; $1 = $0 & 1; $2 = ($1<<24>>24)==(0); if (!($2)) { - HEAP32[7680] = 1; + HEAP32[7752] = 1; } - $3 = HEAP8[33512]|0; + $3 = HEAP8[35952]|0; $4 = $3 & 2; $5 = ($4<<24>>24)==(0); if ($5) { return; } - HEAP32[7717] = 1; + HEAP32[7789] = 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); + $1 = (35959 + ($0)|0); $2 = HEAP8[$1>>0]|0; - $3 = (34031 + ($0)|0); + $3 = (36471 + ($0)|0); $4 = HEAP8[$3>>0]|0; $5 = ($2<<24>>24)!=($4<<24>>24); $6 = ($2<<24>>24)==(1); @@ -16806,7 +20991,7 @@ function _rlTranslatef($0,$1,$2) { $4 = sp; _MatrixTranslate($3,$0,$1,$2); _MatrixTranspose($3); - $5 = HEAP32[7722]|0; + $5 = HEAP32[7794]|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); @@ -16839,7 +21024,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[7722]|0; + $11 = HEAP32[7794]|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); @@ -16850,7 +21035,7 @@ function _rlBegin($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; - HEAP32[7795] = $0; + HEAP32[7867] = $0; return; } function _rlEnd() { @@ -16866,21 +21051,21 @@ function _rlEnd() { sp = STACKTOP; STACKTOP = STACKTOP + 64|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(64|0); $$byval_copy = sp; - $0 = HEAP32[8232]|0; + $0 = HEAP32[8304]|0; $1 = ($0|0)==(0); if (!($1)) { - $2 = HEAP32[8233]|0; + $2 = HEAP32[8305]|0; $3 = ($2|0)>(0); if ($3) { $$03956 = 0; while(1) { - $6 = HEAP32[7792]|0; + $6 = HEAP32[7864]|0; $7 = (($6) + (($$03956*12)|0)|0); - $8 = HEAP32[7722]|0; + $8 = HEAP32[7794]|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; + $5 = HEAP32[8305]|0; $10 = ($9|0)<($5|0); if ($10) { $$03956 = $9; @@ -16888,12 +21073,12 @@ function _rlEnd() { break; } } - HEAP32[8232] = 0; + HEAP32[8304] = 0; $4 = ($5|0)>(0); if ($4) { $$04154 = 0; while(1) { - $11 = HEAP32[7792]|0; + $11 = HEAP32[7864]|0; $12 = (($11) + (($$04154*12)|0)|0); $13 = +HEAPF32[$12>>2]; $14 = (((($11) + (($$04154*12)|0)|0)) + 4|0); @@ -16902,7 +21087,7 @@ function _rlEnd() { $17 = +HEAPF32[$16>>2]; _rlVertex3f($13,$15,$17); $18 = (($$04154) + 1)|0; - $19 = HEAP32[8233]|0; + $19 = HEAP32[8305]|0; $20 = ($18|0)<($19|0); if ($20) { $$04154 = $18; @@ -16912,20 +21097,20 @@ function _rlEnd() { } } } else { - HEAP32[8232] = 0; + HEAP32[8304] = 0; } - HEAP32[8233] = 0; + HEAP32[8305] = 0; } - $21 = HEAP32[7795]|0; + $21 = HEAP32[7867]|0; switch ($21|0) { case 1: { - $22 = HEAP32[8054]|0; - $23 = HEAP32[(32224)>>2]|0; + $22 = HEAP32[8126]|0; + $23 = HEAP32[(32512)>>2]|0; $24 = ($22|0)==($23|0); if ($24) { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } $25 = (($22) - ($23))|0; @@ -16933,22 +21118,22 @@ function _rlEnd() { if ($26) { $$04347 = 0; } else { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } while(1) { - $27 = HEAP32[(32236)>>2]|0; - $28 = HEAP32[(32224)>>2]|0; + $27 = HEAP32[(32524)>>2]|0; + $28 = HEAP32[(32512)>>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; + $34 = HEAP32[(32524)>>2]|0; + $35 = HEAP32[(32512)>>2]|0; $36 = $35 << 2; $37 = (($36) + -3)|0; $38 = (($34) + ($37)|0); @@ -16956,8 +21141,8 @@ function _rlEnd() { $40 = $36 | 1; $41 = (($34) + ($40)|0); HEAP8[$41>>0] = $39; - $42 = HEAP32[(32236)>>2]|0; - $43 = HEAP32[(32224)>>2]|0; + $42 = HEAP32[(32524)>>2]|0; + $43 = HEAP32[(32512)>>2]|0; $44 = $43 << 2; $45 = (($44) + -2)|0; $46 = (($42) + ($45)|0); @@ -16965,8 +21150,8 @@ function _rlEnd() { $48 = $44 | 2; $49 = (($42) + ($48)|0); HEAP8[$49>>0] = $47; - $50 = HEAP32[(32236)>>2]|0; - $51 = HEAP32[(32224)>>2]|0; + $50 = HEAP32[(32524)>>2]|0; + $51 = HEAP32[(32512)>>2]|0; $52 = $51 << 2; $53 = (($52) + -1)|0; $54 = (($50) + ($53)|0); @@ -16974,9 +21159,9 @@ function _rlEnd() { $56 = $52 | 3; $57 = (($50) + ($56)|0); HEAP8[$57>>0] = $55; - $58 = HEAP32[(32224)>>2]|0; + $58 = HEAP32[(32512)>>2]|0; $59 = (($58) + 1)|0; - HEAP32[(32224)>>2] = $59; + HEAP32[(32512)>>2] = $59; $60 = (($$04347) + 1)|0; $exitcond = ($60|0)==($25|0); if ($exitcond) { @@ -16985,20 +21170,20 @@ function _rlEnd() { $$04347 = $60; } } - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; break; } case 4: { - $61 = HEAP32[8066]|0; - $62 = HEAP32[(32272)>>2]|0; + $61 = HEAP32[8138]|0; + $62 = HEAP32[(32560)>>2]|0; $63 = ($61|0)==($62|0); if ($63) { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } $64 = (($61) - ($62))|0; @@ -17006,22 +21191,22 @@ function _rlEnd() { if ($65) { $$04248 = 0; } else { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } while(1) { - $66 = HEAP32[(32284)>>2]|0; - $67 = HEAP32[(32272)>>2]|0; + $66 = HEAP32[(32572)>>2]|0; + $67 = HEAP32[(32560)>>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; + $73 = HEAP32[(32572)>>2]|0; + $74 = HEAP32[(32560)>>2]|0; $75 = $74 << 2; $76 = (($75) + -3)|0; $77 = (($73) + ($76)|0); @@ -17029,8 +21214,8 @@ function _rlEnd() { $79 = $75 | 1; $80 = (($73) + ($79)|0); HEAP8[$80>>0] = $78; - $81 = HEAP32[(32284)>>2]|0; - $82 = HEAP32[(32272)>>2]|0; + $81 = HEAP32[(32572)>>2]|0; + $82 = HEAP32[(32560)>>2]|0; $83 = $82 << 2; $84 = (($83) + -2)|0; $85 = (($81) + ($84)|0); @@ -17038,8 +21223,8 @@ function _rlEnd() { $87 = $83 | 2; $88 = (($81) + ($87)|0); HEAP8[$88>>0] = $86; - $89 = HEAP32[(32284)>>2]|0; - $90 = HEAP32[(32272)>>2]|0; + $89 = HEAP32[(32572)>>2]|0; + $90 = HEAP32[(32560)>>2]|0; $91 = $90 << 2; $92 = (($91) + -1)|0; $93 = (($89) + ($92)|0); @@ -17047,9 +21232,9 @@ function _rlEnd() { $95 = $91 | 3; $96 = (($89) + ($95)|0); HEAP8[$96>>0] = $94; - $97 = HEAP32[(32272)>>2]|0; + $97 = HEAP32[(32560)>>2]|0; $98 = (($97) + 1)|0; - HEAP32[(32272)>>2] = $98; + HEAP32[(32560)>>2] = $98; $99 = (($$04248) + 1)|0; $exitcond60 = ($99|0)==($64|0); if ($exitcond60) { @@ -17058,15 +21243,15 @@ function _rlEnd() { $$04248 = $99; } } - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; break; } case 7: { - $100 = HEAP32[8078]|0; - $101 = HEAP32[(32320)>>2]|0; + $100 = HEAP32[8150]|0; + $101 = HEAP32[(32608)>>2]|0; $102 = ($100|0)==($101|0); if (!($102)) { $103 = (($100) - ($101))|0; @@ -17074,16 +21259,16 @@ function _rlEnd() { if ($104) { $$04052 = 0; while(1) { - $105 = HEAP32[(32332)>>2]|0; - $106 = HEAP32[(32320)>>2]|0; + $105 = HEAP32[(32620)>>2]|0; + $106 = HEAP32[(32608)>>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; + $112 = HEAP32[(32620)>>2]|0; + $113 = HEAP32[(32608)>>2]|0; $114 = $113 << 2; $115 = (($114) + -3)|0; $116 = (($112) + ($115)|0); @@ -17091,8 +21276,8 @@ function _rlEnd() { $118 = $114 | 1; $119 = (($112) + ($118)|0); HEAP8[$119>>0] = $117; - $120 = HEAP32[(32332)>>2]|0; - $121 = HEAP32[(32320)>>2]|0; + $120 = HEAP32[(32620)>>2]|0; + $121 = HEAP32[(32608)>>2]|0; $122 = $121 << 2; $123 = (($122) + -2)|0; $124 = (($120) + ($123)|0); @@ -17100,8 +21285,8 @@ function _rlEnd() { $126 = $122 | 2; $127 = (($120) + ($126)|0); HEAP8[$127>>0] = $125; - $128 = HEAP32[(32332)>>2]|0; - $129 = HEAP32[(32320)>>2]|0; + $128 = HEAP32[(32620)>>2]|0; + $129 = HEAP32[(32608)>>2]|0; $130 = $129 << 2; $131 = (($130) + -1)|0; $132 = (($128) + ($131)|0); @@ -17109,9 +21294,9 @@ function _rlEnd() { $134 = $130 | 3; $135 = (($128) + ($134)|0); HEAP8[$135>>0] = $133; - $136 = HEAP32[(32320)>>2]|0; + $136 = HEAP32[(32608)>>2]|0; $137 = (($136) + 1)|0; - HEAP32[(32320)>>2] = $137; + HEAP32[(32608)>>2] = $137; $138 = (($$04052) + 1)|0; $exitcond63 = ($138|0)==($103|0); if ($exitcond63) { @@ -17122,17 +21307,17 @@ function _rlEnd() { } } } - $139 = HEAP32[8078]|0; - $140 = HEAP32[(32316)>>2]|0; + $139 = HEAP32[8150]|0; + $140 = HEAP32[(32604)>>2]|0; $141 = ($139|0)>($140|0); if (!($141)) { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } - $142 = HEAP32[(32328)>>2]|0; - $$promoted = HEAP32[(32316)>>2]|0; + $142 = HEAP32[(32616)>>2]|0; + $$promoted = HEAP32[(32604)>>2]|0; $143 = $$promoted << 1; $scevgep = (($142) + ($143<<2)|0); $144 = (($139) - ($140))|0; @@ -17140,17 +21325,17 @@ function _rlEnd() { _memset(($scevgep|0),0,($145|0))|0; $146 = (($139) + ($$promoted))|0; $147 = (($146) - ($140))|0; - HEAP32[(32316)>>2] = $147; - $148 = +HEAPF32[743]; + HEAP32[(32604)>>2] = $147; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; break; } default: { - $148 = +HEAPF32[743]; + $148 = +HEAPF32[746]; $149 = $148 + 4.9999998736893758E-5; - HEAPF32[743] = $149; + HEAPF32[746] = $149; STACKTOP = sp;return; } } @@ -17167,11 +21352,11 @@ function _rlVertex3f($0,$1,$2) { $vararg_buffer3 = sp + 16|0; $vararg_buffer1 = sp + 8|0; $vararg_buffer = sp; - $3 = HEAP32[8232]|0; + $3 = HEAP32[8304]|0; $4 = ($3|0)==(0); if (!($4)) { - $5 = HEAP32[7792]|0; - $6 = HEAP32[8233]|0; + $5 = HEAP32[7864]|0; + $6 = HEAP32[8305]|0; $7 = (($5) + (($6*12)|0)|0); HEAPF32[$7>>2] = $0; $8 = (((($5) + (($6*12)|0)|0)) + 4|0); @@ -17179,16 +21364,16 @@ function _rlVertex3f($0,$1,$2) { $9 = (((($5) + (($6*12)|0)|0)) + 8|0); HEAPF32[$9>>2] = $2; $10 = (($6) + 1)|0; - HEAP32[8233] = $10; + HEAP32[8305] = $10; STACKTOP = sp;return; } - $11 = HEAP32[7795]|0; + $11 = HEAP32[7867]|0; switch ($11|0) { case 1: { - $12 = HEAP32[8054]|0; + $12 = HEAP32[8126]|0; $13 = ($12|0)<(2048); if ($13) { - $14 = HEAP32[(32228)>>2]|0; + $14 = HEAP32[(32516)>>2]|0; $15 = ($12*3)|0; $16 = (($14) + ($15<<2)|0); HEAPF32[$16>>2] = $0; @@ -17199,19 +21384,19 @@ function _rlVertex3f($0,$1,$2) { $20 = (($14) + ($19<<2)|0); HEAPF32[$20>>2] = $2; $21 = (($12) + 1)|0; - HEAP32[8054] = $21; + HEAP32[8126] = $21; STACKTOP = sp;return; } else { - _TraceLog(1,8233,$vararg_buffer); + _TraceLog(1,8125,$vararg_buffer); STACKTOP = sp;return; } break; } case 4: { - $22 = HEAP32[8066]|0; + $22 = HEAP32[8138]|0; $23 = ($22|0)<(6144); if ($23) { - $24 = HEAP32[(32276)>>2]|0; + $24 = HEAP32[(32564)>>2]|0; $25 = ($22*3)|0; $26 = (($24) + ($25<<2)|0); HEAPF32[$26>>2] = $0; @@ -17222,19 +21407,19 @@ function _rlVertex3f($0,$1,$2) { $30 = (($24) + ($29<<2)|0); HEAPF32[$30>>2] = $2; $31 = (($22) + 1)|0; - HEAP32[8066] = $31; + HEAP32[8138] = $31; STACKTOP = sp;return; } else { - _TraceLog(1,8258,$vararg_buffer1); + _TraceLog(1,8150,$vararg_buffer1); STACKTOP = sp;return; } break; } case 7: { - $32 = HEAP32[8078]|0; + $32 = HEAP32[8150]|0; $33 = ($32|0)<(4096); if ($33) { - $34 = HEAP32[(32324)>>2]|0; + $34 = HEAP32[(32612)>>2]|0; $35 = ($32*3)|0; $36 = (($34) + ($35<<2)|0); HEAPF32[$36>>2] = $0; @@ -17245,9 +21430,9 @@ function _rlVertex3f($0,$1,$2) { $40 = (($34) + ($39<<2)|0); HEAPF32[$40>>2] = $2; $41 = (($32) + 1)|0; - HEAP32[8078] = $41; - $42 = HEAP32[7793]|0; - $43 = HEAP32[7794]|0; + HEAP32[8150] = $41; + $42 = HEAP32[7865]|0; + $43 = HEAP32[7866]|0; $44 = (($43) + -1)|0; $45 = (($42) + (($44*144)|0)|0); $46 = HEAP32[$45>>2]|0; @@ -17255,7 +21440,7 @@ function _rlVertex3f($0,$1,$2) { HEAP32[$45>>2] = $47; STACKTOP = sp;return; } else { - _TraceLog(1,8287,$vararg_buffer3); + _TraceLog(1,8179,$vararg_buffer3); STACKTOP = sp;return; } break; @@ -17270,7 +21455,7 @@ function _rlVertex2f($0,$1) { $1 = +$1; var $2 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $2 = +HEAPF32[743]; + $2 = +HEAPF32[746]; _rlVertex3f($0,$1,$2); return; } @@ -17279,13 +21464,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[7795]|0; + $2 = HEAP32[7867]|0; $3 = ($2|0)==(7); if (!($3)) { return; } - $4 = HEAP32[(32328)>>2]|0; - $5 = HEAP32[(32316)>>2]|0; + $4 = HEAP32[(32616)>>2]|0; + $5 = HEAP32[(32604)>>2]|0; $6 = $5 << 1; $7 = (($4) + ($6<<2)|0); HEAPF32[$7>>2] = $0; @@ -17293,7 +21478,7 @@ function _rlTexCoord2f($0,$1) { $9 = (($4) + ($8<<2)|0); HEAPF32[$9>>2] = $1; $10 = (($5) + 1)|0; - HEAP32[(32316)>>2] = $10; + HEAP32[(32604)>>2] = $10; return; } function _rlNormal3f($0,$1,$2) { @@ -17312,18 +21497,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[7795]|0; + $4 = HEAP32[7867]|0; switch ($4|0) { case 1: { - $$sink37 = (32224);$$sink38 = (32236); + $$sink37 = (32512);$$sink38 = (32524); break; } case 4: { - $$sink37 = (32272);$$sink38 = (32284); + $$sink37 = (32560);$$sink38 = (32572); break; } case 7: { - $$sink37 = (32320);$$sink38 = (32332); + $$sink37 = (32608);$$sink38 = (32620); break; } default: { @@ -17362,8 +21547,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[7793]|0; - $2 = HEAP32[7794]|0; + $1 = HEAP32[7865]|0; + $2 = HEAP32[7866]|0; $3 = (($2) + -1)|0; $4 = (((($1) + (($3*144)|0)|0)) + 8|0); $5 = HEAP32[$4>>2]|0; @@ -17376,9 +21561,9 @@ function _rlEnableTexture($0) { $9 = ($8|0)>(0); if ($9) { $10 = (($2) + 1)|0; - HEAP32[7794] = $10; + HEAP32[7866] = $10; } - $11 = HEAP32[7794]|0; + $11 = HEAP32[7866]|0; $12 = (($11) + -1)|0; $13 = (((($1) + (($12*144)|0)|0)) + 8|0); HEAP32[$13>>2] = $0; @@ -17389,7 +21574,7 @@ function _rlEnableTexture($0) { function _rlDisableTexture() { var $0 = 0, $1 = 0, label = 0, sp = 0; sp = STACKTOP; - $0 = HEAP32[8078]|0; + $0 = HEAP32[8150]|0; $1 = ($0|0)>(4095); if (!($1)) { return; @@ -17427,7 +21612,7 @@ 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; + ;HEAP32[$0>>2]=HEAP32[31028>>2]|0;HEAP32[$0+4>>2]=HEAP32[31028+4>>2]|0;HEAP32[$0+8>>2]=HEAP32[31028+8>>2]|0;HEAP32[$0+12>>2]=HEAP32[31028+12>>2]|0;HEAP32[$0+16>>2]=HEAP32[31028+16>>2]|0;HEAP32[$0+20>>2]=HEAP32[31028+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[31028+24>>2]|0;HEAP32[$0+28>>2]=HEAP32[31028+28>>2]|0; return; } function _MeasureTextEx($0,$1,$2,$3,$4) { @@ -17970,7 +22155,7 @@ function _emscripten_GetProcAddress($0) { $10 = HEAP32[$2>>2]|0; (_strcpy($9,$10)|0); $11 = HEAP32[$3>>2]|0; - $12 = (_strstr($11,8312)|0); + $12 = (_strstr($11,8204)|0); HEAP32[$4>>2] = $12; $13 = HEAP32[$4>>2]|0; $14 = ($13|0)!=(0|0); @@ -17979,7 +22164,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$15>>0] = 0; } $16 = HEAP32[$3>>2]|0; - $17 = (_strstr($16,8316)|0); + $17 = (_strstr($16,8208)|0); HEAP32[$4>>2] = $17; $18 = HEAP32[$4>>2]|0; $19 = ($18|0)!=(0|0); @@ -17988,7 +22173,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$20>>0] = 0; } $21 = HEAP32[$3>>2]|0; - $22 = (_strstr($21,8320)|0); + $22 = (_strstr($21,8212)|0); HEAP32[$4>>2] = $22; $23 = HEAP32[$4>>2]|0; $24 = ($23|0)!=(0|0); @@ -17997,7 +22182,7 @@ function _emscripten_GetProcAddress($0) { HEAP8[$25>>0] = 0; } $26 = HEAP32[$3>>2]|0; - $27 = (_strstr($26,8324)|0); + $27 = (_strstr($26,8216)|0); HEAP32[$4>>2] = $27; $28 = HEAP32[$4>>2]|0; $29 = ($28|0)!=(0|0); @@ -18006,1210 +22191,1210 @@ function _emscripten_GetProcAddress($0) { HEAP8[$30>>0] = 0; } $31 = HEAP32[$3>>2]|0; - $32 = (_strcmp($31,8330)|0); + $32 = (_strcmp($31,8222)|0); $33 = ($32|0)!=(0); do { if ($33) { $34 = HEAP32[$3>>2]|0; - $35 = (_strcmp($34,8368)|0); + $35 = (_strcmp($34,8260)|0); $36 = ($35|0)!=(0); if (!($36)) { - HEAP32[$3>>2] = 8387; + HEAP32[$3>>2] = 8279; break; } $37 = HEAP32[$3>>2]|0; - $38 = (_strcmp($37,8400)|0); + $38 = (_strcmp($37,8292)|0); $39 = ($38|0)!=(0); if (!($39)) { - HEAP32[$3>>2] = 8421; + HEAP32[$3>>2] = 8313; break; } $40 = HEAP32[$3>>2]|0; - $41 = (_strcmp($40,8436)|0); + $41 = (_strcmp($40,8328)|0); $42 = ($41|0)!=(0); if (!($42)) { - HEAP32[$3>>2] = 8451; + HEAP32[$3>>2] = 8343; break; } $43 = HEAP32[$3>>2]|0; - $44 = (_strcmp($43,8466)|0); + $44 = (_strcmp($43,8358)|0); $45 = ($44|0)!=(0); if (!($45)) { - HEAP32[$3>>2] = 8481; + HEAP32[$3>>2] = 8373; } } else { - HEAP32[$3>>2] = 8352; + HEAP32[$3>>2] = 8244; } } while(0); $46 = HEAP32[$3>>2]|0; - $47 = (_strcmp($46,8496)|0); + $47 = (_strcmp($46,8388)|0); $48 = ($47|0)!=(0); do { if ($48) { $49 = HEAP32[$3>>2]|0; - $50 = (_strcmp($49,8510)|0); + $50 = (_strcmp($49,8402)|0); $51 = ($50|0)!=(0); if (!($51)) { HEAP32[$1>>2] = 3; break; } $52 = HEAP32[$3>>2]|0; - $53 = (_strcmp($52,8522)|0); + $53 = (_strcmp($52,8414)|0); $54 = ($53|0)!=(0); if (!($54)) { HEAP32[$1>>2] = 6; break; } $55 = HEAP32[$3>>2]|0; - $56 = (_strcmp($55,8536)|0); + $56 = (_strcmp($55,8428)|0); $57 = ($56|0)!=(0); if (!($57)) { HEAP32[$1>>2] = 7; break; } $58 = HEAP32[$3>>2]|0; - $59 = (_strcmp($58,8548)|0); + $59 = (_strcmp($58,8440)|0); $60 = ($59|0)!=(0); if (!($60)) { HEAP32[$1>>2] = 8; break; } $61 = HEAP32[$3>>2]|0; - $62 = (_strcmp($61,8562)|0); + $62 = (_strcmp($61,8454)|0); $63 = ($62|0)!=(0); if (!($63)) { HEAP32[$1>>2] = 9; break; } $64 = HEAP32[$3>>2]|0; - $65 = (_strcmp($64,8576)|0); + $65 = (_strcmp($64,8468)|0); $66 = ($65|0)!=(0); if (!($66)) { HEAP32[$1>>2] = 10; break; } $67 = HEAP32[$3>>2]|0; - $68 = (_strcmp($67,8593)|0); + $68 = (_strcmp($67,8485)|0); $69 = ($68|0)!=(0); if (!($69)) { HEAP32[$1>>2] = 1; break; } $70 = HEAP32[$3>>2]|0; - $71 = (_strcmp($70,8616)|0); + $71 = (_strcmp($70,8508)|0); $72 = ($71|0)!=(0); if (!($72)) { HEAP32[$1>>2] = 1; break; } $73 = HEAP32[$3>>2]|0; - $74 = (_strcmp($73,8642)|0); + $74 = (_strcmp($73,8534)|0); $75 = ($74|0)!=(0); if (!($75)) { HEAP32[$1>>2] = 2; break; } $76 = HEAP32[$3>>2]|0; - $77 = (_strcmp($76,8655)|0); + $77 = (_strcmp($76,8547)|0); $78 = ($77|0)!=(0); if (!($78)) { HEAP32[$1>>2] = 3; break; } $79 = HEAP32[$3>>2]|0; - $80 = (_strcmp($79,8671)|0); + $80 = (_strcmp($79,8563)|0); $81 = ($80|0)!=(0); if (!($81)) { HEAP32[$1>>2] = 1; break; } $82 = HEAP32[$3>>2]|0; - $83 = (_strcmp($82,8684)|0); + $83 = (_strcmp($82,8576)|0); $84 = ($83|0)!=(0); if (!($84)) { HEAP32[$1>>2] = 11; break; } $85 = HEAP32[$3>>2]|0; - $86 = (_strcmp($85,8698)|0); + $86 = (_strcmp($85,8590)|0); $87 = ($86|0)!=(0); if (!($87)) { HEAP32[$1>>2] = 2; break; } $88 = HEAP32[$3>>2]|0; - $89 = (_strcmp($88,8718)|0); + $89 = (_strcmp($88,8610)|0); $90 = ($89|0)!=(0); if (!($90)) { HEAP32[$1>>2] = 3; break; } $91 = HEAP32[$3>>2]|0; - $92 = (_strcmp($91,8738)|0); + $92 = (_strcmp($91,8630)|0); $93 = ($92|0)!=(0); if (!($93)) { HEAP32[$1>>2] = 4; break; } $94 = HEAP32[$3>>2]|0; - $95 = (_strcmp($94,8755)|0); + $95 = (_strcmp($94,8647)|0); $96 = ($95|0)!=(0); if (!($96)) { HEAP32[$1>>2] = 5; break; } $97 = HEAP32[$3>>2]|0; - $98 = (_strcmp($97,8772)|0); + $98 = (_strcmp($97,8664)|0); $99 = ($98|0)!=(0); if (!($99)) { HEAP32[$1>>2] = 4; break; } $100 = HEAP32[$3>>2]|0; - $101 = (_strcmp($100,8784)|0); + $101 = (_strcmp($100,8676)|0); $102 = ($101|0)!=(0); if (!($102)) { HEAP32[$1>>2] = 12; break; } $103 = HEAP32[$3>>2]|0; - $104 = (_strcmp($103,8797)|0); + $104 = (_strcmp($103,8689)|0); $105 = ($104|0)!=(0); if (!($105)) { HEAP32[$1>>2] = 13; break; } $106 = HEAP32[$3>>2]|0; - $107 = (_strcmp($106,8813)|0); + $107 = (_strcmp($106,8705)|0); $108 = ($107|0)!=(0); if (!($108)) { HEAP32[$1>>2] = 6; break; } $109 = HEAP32[$3>>2]|0; - $110 = (_strcmp($109,8836)|0); + $110 = (_strcmp($109,8728)|0); $111 = ($110|0)!=(0); if (!($111)) { HEAP32[$1>>2] = 2; break; } $112 = HEAP32[$3>>2]|0; - $113 = (_strcmp($112,8849)|0); + $113 = (_strcmp($112,8741)|0); $114 = ($113|0)!=(0); if (!($114)) { HEAP32[$1>>2] = 3; break; } $115 = HEAP32[$3>>2]|0; - $116 = (_strcmp($115,8865)|0); + $116 = (_strcmp($115,8757)|0); $117 = ($116|0)!=(0); if (!($117)) { HEAP32[$1>>2] = 5; break; } $118 = HEAP32[$3>>2]|0; - $119 = (_strcmp($118,8876)|0); + $119 = (_strcmp($118,8768)|0); $120 = ($119|0)!=(0); if (!($120)) { HEAP32[$1>>2] = 14; break; } $121 = HEAP32[$3>>2]|0; - $122 = (_strcmp($121,8895)|0); + $122 = (_strcmp($121,8787)|0); $123 = ($122|0)!=(0); if (!($123)) { HEAP32[$1>>2] = 15; break; } $124 = HEAP32[$3>>2]|0; - $125 = (_strcmp($124,8917)|0); + $125 = (_strcmp($124,8809)|0); $126 = ($125|0)!=(0); if (!($126)) { HEAP32[$1>>2] = 16; break; } $127 = HEAP32[$3>>2]|0; - $128 = (_strcmp($127,8936)|0); + $128 = (_strcmp($127,8828)|0); $129 = ($128|0)!=(0); if (!($129)) { HEAP32[$1>>2] = 7; break; } $130 = HEAP32[$3>>2]|0; - $131 = (_strcmp($130,8965)|0); + $131 = (_strcmp($130,8857)|0); $132 = ($131|0)!=(0); if (!($132)) { HEAP32[$1>>2] = 6; break; } $133 = HEAP32[$3>>2]|0; - $134 = (_strcmp($133,8982)|0); + $134 = (_strcmp($133,8874)|0); $135 = ($134|0)!=(0); if (!($135)) { HEAP32[$1>>2] = 8; break; } $136 = HEAP32[$3>>2]|0; - $137 = (_strcmp($136,8997)|0); + $137 = (_strcmp($136,8889)|0); $138 = ($137|0)!=(0); if (!($138)) { HEAP32[$1>>2] = 9; break; } $139 = HEAP32[$3>>2]|0; - $140 = (_strcmp($139,9012)|0); + $140 = (_strcmp($139,8904)|0); $141 = ($140|0)!=(0); if (!($141)) { HEAP32[$1>>2] = 1; break; } $142 = HEAP32[$3>>2]|0; - $143 = (_strcmp($142,9033)|0); + $143 = (_strcmp($142,8925)|0); $144 = ($143|0)!=(0); if (!($144)) { HEAP32[$1>>2] = 10; break; } $145 = HEAP32[$3>>2]|0; - $146 = (_strcmp($145,9053)|0); + $146 = (_strcmp($145,8945)|0); $147 = ($146|0)!=(0); if (!($147)) { HEAP32[$1>>2] = 11; break; } $148 = HEAP32[$3>>2]|0; - $149 = (_strcmp($148,9073)|0); + $149 = (_strcmp($148,8965)|0); $150 = ($149|0)!=(0); if (!($150)) { HEAP32[$1>>2] = 12; break; } $151 = HEAP32[$3>>2]|0; - $152 = (_strcmp($151,9099)|0); + $152 = (_strcmp($151,8991)|0); $153 = ($152|0)!=(0); if (!($153)) { HEAP32[$1>>2] = 2; break; } $154 = HEAP32[$3>>2]|0; - $155 = (_strcmp($154,9118)|0); + $155 = (_strcmp($154,9010)|0); $156 = ($155|0)!=(0); if (!($156)) { HEAP32[$1>>2] = 1; break; } $157 = HEAP32[$3>>2]|0; - $158 = (_strcmp($157,9130)|0); + $158 = (_strcmp($157,9022)|0); $159 = ($158|0)!=(0); if (!($159)) { HEAP32[$1>>2] = 3; break; } $160 = HEAP32[$3>>2]|0; - $161 = (_strcmp($160,9142)|0); + $161 = (_strcmp($160,9034)|0); $162 = ($161|0)!=(0); if (!($162)) { HEAP32[$1>>2] = 1; break; } $163 = HEAP32[$3>>2]|0; - $164 = (_strcmp($163,9154)|0); + $164 = (_strcmp($163,9046)|0); $165 = ($164|0)!=(0); if (!($165)) { HEAP32[$1>>2] = 1; break; } $166 = HEAP32[$3>>2]|0; - $167 = (_strcmp($166,9166)|0); + $167 = (_strcmp($166,9058)|0); $168 = ($167|0)!=(0); if (!($168)) { HEAP32[$1>>2] = 17; break; } $169 = HEAP32[$3>>2]|0; - $170 = (_strcmp($169,9178)|0); + $170 = (_strcmp($169,9070)|0); $171 = ($170|0)!=(0); if (!($171)) { HEAP32[$1>>2] = 13; break; } $172 = HEAP32[$3>>2]|0; - $173 = (_strcmp($172,9190)|0); + $173 = (_strcmp($172,9082)|0); $174 = ($173|0)!=(0); if (!($174)) { HEAP32[$1>>2] = 4; break; } $175 = HEAP32[$3>>2]|0; - $176 = (_strcmp($175,9202)|0); + $176 = (_strcmp($175,9094)|0); $177 = ($176|0)!=(0); if (!($177)) { HEAP32[$1>>2] = 2; break; } $178 = HEAP32[$3>>2]|0; - $179 = (_strcmp($178,9214)|0); + $179 = (_strcmp($178,9106)|0); $180 = ($179|0)!=(0); if (!($180)) { HEAP32[$1>>2] = 14; break; } $181 = HEAP32[$3>>2]|0; - $182 = (_strcmp($181,9227)|0); + $182 = (_strcmp($181,9119)|0); $183 = ($182|0)!=(0); if (!($183)) { HEAP32[$1>>2] = 15; break; } $184 = HEAP32[$3>>2]|0; - $185 = (_strcmp($184,9240)|0); + $185 = (_strcmp($184,9132)|0); $186 = ($185|0)!=(0); if (!($186)) { HEAP32[$1>>2] = 16; break; } $187 = HEAP32[$3>>2]|0; - $188 = (_strcmp($187,9253)|0); + $188 = (_strcmp($187,9145)|0); $189 = ($188|0)!=(0); if (!($189)) { HEAP32[$1>>2] = 17; break; } $190 = HEAP32[$3>>2]|0; - $191 = (_strcmp($190,9266)|0); + $191 = (_strcmp($190,9158)|0); $192 = ($191|0)!=(0); if (!($192)) { HEAP32[$1>>2] = 18; break; } $193 = HEAP32[$3>>2]|0; - $194 = (_strcmp($193,9279)|0); + $194 = (_strcmp($193,9171)|0); $195 = ($194|0)!=(0); if (!($195)) { HEAP32[$1>>2] = 19; break; } $196 = HEAP32[$3>>2]|0; - $197 = (_strcmp($196,9292)|0); + $197 = (_strcmp($196,9184)|0); $198 = ($197|0)!=(0); if (!($198)) { HEAP32[$1>>2] = 20; break; } $199 = HEAP32[$3>>2]|0; - $200 = (_strcmp($199,9305)|0); + $200 = (_strcmp($199,9197)|0); $201 = ($200|0)!=(0); if (!($201)) { HEAP32[$1>>2] = 21; break; } $202 = HEAP32[$3>>2]|0; - $203 = (_strcmp($202,9318)|0); + $203 = (_strcmp($202,9210)|0); $204 = ($203|0)!=(0); if (!($204)) { HEAP32[$1>>2] = 5; break; } $205 = HEAP32[$3>>2]|0; - $206 = (_strcmp($205,9337)|0); + $206 = (_strcmp($205,9229)|0); $207 = ($206|0)!=(0); if (!($207)) { HEAP32[$1>>2] = 6; break; } $208 = HEAP32[$3>>2]|0; - $209 = (_strcmp($208,9356)|0); + $209 = (_strcmp($208,9248)|0); $210 = ($209|0)!=(0); if (!($210)) { HEAP32[$1>>2] = 7; break; } $211 = HEAP32[$3>>2]|0; - $212 = (_strcmp($211,9375)|0); + $212 = (_strcmp($211,9267)|0); $213 = ($212|0)!=(0); if (!($213)) { HEAP32[$1>>2] = 18; break; } $214 = HEAP32[$3>>2]|0; - $215 = (_strcmp($214,9388)|0); + $215 = (_strcmp($214,9280)|0); $216 = ($215|0)!=(0); if (!($216)) { HEAP32[$1>>2] = 19; break; } $217 = HEAP32[$3>>2]|0; - $218 = (_strcmp($217,9406)|0); + $218 = (_strcmp($217,9298)|0); $219 = ($218|0)!=(0); if (!($219)) { HEAP32[$1>>2] = 20; break; } $220 = HEAP32[$3>>2]|0; - $221 = (_strcmp($220,9424)|0); + $221 = (_strcmp($220,9316)|0); $222 = ($221|0)!=(0); if (!($222)) { HEAP32[$1>>2] = 21; break; } $223 = HEAP32[$3>>2]|0; - $224 = (_strcmp($223,9442)|0); + $224 = (_strcmp($223,9334)|0); $225 = ($224|0)!=(0); if (!($225)) { HEAP32[$1>>2] = 22; break; } $226 = HEAP32[$3>>2]|0; - $227 = (_strcmp($226,9460)|0); + $227 = (_strcmp($226,9352)|0); $228 = ($227|0)!=(0); if (!($228)) { HEAP32[$1>>2] = 2; break; } $229 = HEAP32[$3>>2]|0; - $230 = (_strcmp($229,9480)|0); + $230 = (_strcmp($229,9372)|0); $231 = ($230|0)!=(0); if (!($231)) { HEAP32[$1>>2] = 3; break; } $232 = HEAP32[$3>>2]|0; - $233 = (_strcmp($232,8421)|0); + $233 = (_strcmp($232,8313)|0); $234 = ($233|0)!=(0); if (!($234)) { HEAP32[$1>>2] = 7; break; } $235 = HEAP32[$3>>2]|0; - $236 = (_strcmp($235,9498)|0); + $236 = (_strcmp($235,9390)|0); $237 = ($236|0)!=(0); if (!($237)) { HEAP32[$1>>2] = 1; break; } $238 = HEAP32[$3>>2]|0; - $239 = (_strcmp($238,9513)|0); + $239 = (_strcmp($238,9405)|0); $240 = ($239|0)!=(0); if (!($240)) { HEAP32[$1>>2] = 8; break; } $241 = HEAP32[$3>>2]|0; - $242 = (_strcmp($241,9534)|0); + $242 = (_strcmp($241,9426)|0); $243 = ($242|0)!=(0); if (!($243)) { HEAP32[$1>>2] = 9; break; } $244 = HEAP32[$3>>2]|0; - $245 = (_strcmp($244,9549)|0); + $245 = (_strcmp($244,9441)|0); $246 = ($245|0)!=(0); if (!($246)) { HEAP32[$1>>2] = 10; break; } $247 = HEAP32[$3>>2]|0; - $248 = (_strcmp($247,9567)|0); + $248 = (_strcmp($247,9459)|0); $249 = ($248|0)!=(0); if (!($249)) { HEAP32[$1>>2] = 2; break; } $250 = HEAP32[$3>>2]|0; - $251 = (_strcmp($250,9583)|0); + $251 = (_strcmp($250,9475)|0); $252 = ($251|0)!=(0); if (!($252)) { HEAP32[$1>>2] = 11; break; } $253 = HEAP32[$3>>2]|0; - $254 = (_strcmp($253,9602)|0); + $254 = (_strcmp($253,9494)|0); $255 = ($254|0)!=(0); if (!($255)) { HEAP32[$1>>2] = 22; break; } $256 = HEAP32[$3>>2]|0; - $257 = (_strcmp($256,9616)|0); + $257 = (_strcmp($256,9508)|0); $258 = ($257|0)!=(0); if (!($258)) { HEAP32[$1>>2] = 23; break; } $259 = HEAP32[$3>>2]|0; - $260 = (_strcmp($259,9631)|0); + $260 = (_strcmp($259,9523)|0); $261 = ($260|0)!=(0); if (!($261)) { HEAP32[$1>>2] = 8; break; } $262 = HEAP32[$3>>2]|0; - $263 = (_strcmp($262,8352)|0); + $263 = (_strcmp($262,8244)|0); $264 = ($263|0)!=(0); if (!($264)) { HEAP32[$1>>2] = 1; break; } $265 = HEAP32[$3>>2]|0; - $266 = (_strcmp($265,9642)|0); + $266 = (_strcmp($265,9534)|0); $267 = ($266|0)!=(0); if (!($267)) { HEAP32[$1>>2] = 3; break; } $268 = HEAP32[$3>>2]|0; - $269 = (_strcmp($268,8451)|0); + $269 = (_strcmp($268,8343)|0); $270 = ($269|0)!=(0); if (!($270)) { HEAP32[$1>>2] = 23; break; } $271 = HEAP32[$3>>2]|0; - $272 = (_strcmp($271,8481)|0); + $272 = (_strcmp($271,8373)|0); $273 = ($272|0)!=(0); if (!($273)) { HEAP32[$1>>2] = 24; break; } $274 = HEAP32[$3>>2]|0; - $275 = (_strcmp($274,9658)|0); + $275 = (_strcmp($274,9550)|0); $276 = ($275|0)!=(0); if (!($276)) { HEAP32[$1>>2] = 12; break; } $277 = HEAP32[$3>>2]|0; - $278 = (_strcmp($277,9685)|0); + $278 = (_strcmp($277,9577)|0); $279 = ($278|0)!=(0); if (!($279)) { HEAP32[$1>>2] = 4; break; } $280 = HEAP32[$3>>2]|0; - $281 = (_strcmp($280,9699)|0); + $281 = (_strcmp($280,9591)|0); $282 = ($281|0)!=(0); if (!($282)) { HEAP32[$1>>2] = 13; break; } $283 = HEAP32[$3>>2]|0; - $284 = (_strcmp($283,8387)|0); + $284 = (_strcmp($283,8279)|0); $285 = ($284|0)!=(0); if (!($285)) { HEAP32[$1>>2] = 5; break; } $286 = HEAP32[$3>>2]|0; - $287 = (_strcmp($286,9719)|0); + $287 = (_strcmp($286,9611)|0); $288 = ($287|0)!=(0); if (!($288)) { HEAP32[$1>>2] = 6; break; } $289 = HEAP32[$3>>2]|0; - $290 = (_strcmp($289,9737)|0); + $290 = (_strcmp($289,9629)|0); $291 = ($290|0)!=(0); if (!($291)) { HEAP32[$1>>2] = 9; break; } $292 = HEAP32[$3>>2]|0; - $293 = (_strcmp($292,9749)|0); + $293 = (_strcmp($292,9641)|0); $294 = ($293|0)!=(0); if (!($294)) { HEAP32[$1>>2] = 24; break; } $295 = HEAP32[$3>>2]|0; - $296 = (_strcmp($295,9770)|0); + $296 = (_strcmp($295,9662)|0); $297 = ($296|0)!=(0); if (!($297)) { HEAP32[$1>>2] = 25; break; } $298 = HEAP32[$3>>2]|0; - $299 = (_strcmp($298,9788)|0); + $299 = (_strcmp($298,9680)|0); $300 = ($299|0)!=(0); if (!($300)) { HEAP32[$1>>2] = 26; break; } $301 = HEAP32[$3>>2]|0; - $302 = (_strcmp($301,9806)|0); + $302 = (_strcmp($301,9698)|0); $303 = ($302|0)!=(0); if (!($303)) { HEAP32[$1>>2] = 27; break; } $304 = HEAP32[$3>>2]|0; - $305 = (_strcmp($304,9827)|0); + $305 = (_strcmp($304,9719)|0); $306 = ($305|0)!=(0); if (!($306)) { HEAP32[$1>>2] = 14; break; } $307 = HEAP32[$3>>2]|0; - $308 = (_strcmp($307,9853)|0); + $308 = (_strcmp($307,9745)|0); $309 = ($308|0)!=(0); if (!($309)) { HEAP32[$1>>2] = 3; break; } $310 = HEAP32[$3>>2]|0; - $311 = (_strcmp($310,9876)|0); + $311 = (_strcmp($310,9768)|0); $312 = ($311|0)!=(0); if (!($312)) { HEAP32[$1>>2] = 15; break; } $313 = HEAP32[$3>>2]|0; - $314 = (_strcmp($313,9914)|0); + $314 = (_strcmp($313,9806)|0); $315 = ($314|0)!=(0); if (!($315)) { HEAP32[$1>>2] = 10; break; } $316 = HEAP32[$3>>2]|0; - $317 = (_strcmp($316,9930)|0); + $317 = (_strcmp($316,9822)|0); $318 = ($317|0)!=(0); if (!($318)) { HEAP32[$1>>2] = 7; break; } $319 = HEAP32[$3>>2]|0; - $320 = (_strcmp($319,9945)|0); + $320 = (_strcmp($319,9837)|0); $321 = ($320|0)!=(0); if (!($321)) { HEAP32[$1>>2] = 25; break; } $322 = HEAP32[$3>>2]|0; - $323 = (_strcmp($322,9968)|0); + $323 = (_strcmp($322,9860)|0); $324 = ($323|0)!=(0); if (!($324)) { HEAP32[$1>>2] = 16; break; } $325 = HEAP32[$3>>2]|0; - $326 = (_strcmp($325,9981)|0); + $326 = (_strcmp($325,9873)|0); $327 = ($326|0)!=(0); if (!($327)) { HEAP32[$1>>2] = 28; break; } $328 = HEAP32[$3>>2]|0; - $329 = (_strcmp($328,9995)|0); + $329 = (_strcmp($328,9887)|0); $330 = ($329|0)!=(0); if (!($330)) { HEAP32[$1>>2] = 29; break; } $331 = HEAP32[$3>>2]|0; - $332 = (_strcmp($331,10009)|0); + $332 = (_strcmp($331,9901)|0); $333 = ($332|0)!=(0); if (!($333)) { HEAP32[$1>>2] = 1; break; } $334 = HEAP32[$3>>2]|0; - $335 = (_strcmp($334,10029)|0); + $335 = (_strcmp($334,9921)|0); $336 = ($335|0)!=(0); if (!($336)) { HEAP32[$1>>2] = 8; break; } $337 = HEAP32[$3>>2]|0; - $338 = (_strcmp($337,10049)|0); + $338 = (_strcmp($337,9941)|0); $339 = ($338|0)!=(0); if (!($339)) { HEAP32[$1>>2] = 17; break; } $340 = HEAP32[$3>>2]|0; - $341 = (_strcmp($340,10065)|0); + $341 = (_strcmp($340,9957)|0); $342 = ($341|0)!=(0); if (!($342)) { HEAP32[$1>>2] = 18; break; } $343 = HEAP32[$3>>2]|0; - $344 = (_strcmp($343,10083)|0); + $344 = (_strcmp($343,9975)|0); $345 = ($344|0)!=(0); if (!($345)) { HEAP32[$1>>2] = 26; break; } $346 = HEAP32[$3>>2]|0; - $347 = (_strcmp($346,10099)|0); + $347 = (_strcmp($346,9991)|0); $348 = ($347|0)!=(0); if (!($348)) { HEAP32[$1>>2] = 19; break; } $349 = HEAP32[$3>>2]|0; - $350 = (_strcmp($349,10114)|0); + $350 = (_strcmp($349,10006)|0); $351 = ($350|0)!=(0); if (!($351)) { HEAP32[$1>>2] = 9; break; } $352 = HEAP32[$3>>2]|0; - $353 = (_strcmp($352,10136)|0); + $353 = (_strcmp($352,10028)|0); $354 = ($353|0)!=(0); if (!($354)) { HEAP32[$1>>2] = 30; break; } $355 = HEAP32[$3>>2]|0; - $356 = (_strcmp($355,10154)|0); + $356 = (_strcmp($355,10046)|0); $357 = ($356|0)!=(0); if (!($357)) { HEAP32[$1>>2] = 31; break; } $358 = HEAP32[$3>>2]|0; - $359 = (_strcmp($358,10175)|0); + $359 = (_strcmp($358,10067)|0); $360 = ($359|0)!=(0); if (!($360)) { HEAP32[$1>>2] = 10; break; } $361 = HEAP32[$3>>2]|0; - $362 = (_strcmp($361,10193)|0); + $362 = (_strcmp($361,10085)|0); $363 = ($362|0)!=(0); if (!($363)) { HEAP32[$1>>2] = 11; break; } $364 = HEAP32[$3>>2]|0; - $365 = (_strcmp($364,10206)|0); + $365 = (_strcmp($364,10098)|0); $366 = ($365|0)!=(0); if (!($366)) { - HEAP32[$1>>2] = 1; + HEAP32[$1>>2] = 2; break; } $367 = HEAP32[$3>>2]|0; - $368 = (_strcmp($367,10221)|0); + $368 = (_strcmp($367,10113)|0); $369 = ($368|0)!=(0); if (!($369)) { HEAP32[$1>>2] = 12; break; } $370 = HEAP32[$3>>2]|0; - $371 = (_strcmp($370,10235)|0); + $371 = (_strcmp($370,10127)|0); $372 = ($371|0)!=(0); if (!($372)) { HEAP32[$1>>2] = 1; break; } $373 = HEAP32[$3>>2]|0; - $374 = (_strcmp($373,10245)|0); + $374 = (_strcmp($373,10137)|0); $375 = ($374|0)!=(0); if (!($375)) { HEAP32[$1>>2] = 1; break; } $376 = HEAP32[$3>>2]|0; - $377 = (_strcmp($376,10255)|0); + $377 = (_strcmp($376,10147)|0); $378 = ($377|0)!=(0); if (!($378)) { HEAP32[$1>>2] = 2; break; } $379 = HEAP32[$3>>2]|0; - $380 = (_strcmp($379,10277)|0); + $380 = (_strcmp($379,10169)|0); $381 = ($380|0)!=(0); if (!($381)) { HEAP32[$1>>2] = 13; break; } $382 = HEAP32[$3>>2]|0; - $383 = (_strcmp($382,10303)|0); + $383 = (_strcmp($382,10195)|0); $384 = ($383|0)!=(0); if (!($384)) { HEAP32[$1>>2] = 14; break; } $385 = HEAP32[$3>>2]|0; - $386 = (_strcmp($385,10330)|0); + $386 = (_strcmp($385,10222)|0); $387 = ($386|0)!=(0); if (!($387)) { HEAP32[$1>>2] = 27; break; } $388 = HEAP32[$3>>2]|0; - $389 = (_strcmp($388,10343)|0); + $389 = (_strcmp($388,10235)|0); $390 = ($389|0)!=(0); if (!($390)) { HEAP32[$1>>2] = 20; break; } $391 = HEAP32[$3>>2]|0; - $392 = (_strcmp($391,10358)|0); + $392 = (_strcmp($391,10250)|0); $393 = ($392|0)!=(0); if (!($393)) { HEAP32[$1>>2] = 4; break; } $394 = HEAP32[$3>>2]|0; - $395 = (_strcmp($394,10373)|0); + $395 = (_strcmp($394,10265)|0); $396 = ($395|0)!=(0); if (!($396)) { - HEAP32[$1>>2] = 2; + HEAP32[$1>>2] = 3; break; } $397 = HEAP32[$3>>2]|0; - $398 = (_strcmp($397,10397)|0); + $398 = (_strcmp($397,10289)|0); $399 = ($398|0)!=(0); if (!($399)) { HEAP32[$1>>2] = 2; break; } $400 = HEAP32[$3>>2]|0; - $401 = (_strcmp($400,10408)|0); + $401 = (_strcmp($400,10300)|0); $402 = ($401|0)!=(0); if (!($402)) { HEAP32[$1>>2] = 32; break; } $403 = HEAP32[$3>>2]|0; - $404 = (_strcmp($403,10430)|0); + $404 = (_strcmp($403,10322)|0); $405 = ($404|0)!=(0); if (!($405)) { HEAP32[$1>>2] = 21; break; } $406 = HEAP32[$3>>2]|0; - $407 = (_strcmp($406,10452)|0); + $407 = (_strcmp($406,10344)|0); $408 = ($407|0)!=(0); if (!($408)) { HEAP32[$1>>2] = 5; break; } $409 = HEAP32[$3>>2]|0; - $410 = (_strcmp($409,10476)|0); + $410 = (_strcmp($409,10368)|0); $411 = ($410|0)!=(0); if (!($411)) { - HEAP32[$1>>2] = 3; + HEAP32[$1>>2] = 4; break; } $412 = HEAP32[$3>>2]|0; - $413 = (_strcmp($412,10485)|0); + $413 = (_strcmp($412,10377)|0); $414 = ($413|0)!=(0); if (!($414)) { - HEAP32[$1>>2] = 4; + HEAP32[$1>>2] = 5; break; } $415 = HEAP32[$3>>2]|0; - $416 = (_strcmp($415,10493)|0); + $416 = (_strcmp($415,10385)|0); $417 = ($416|0)!=(0); if (!($417)) { HEAP32[$1>>2] = 1; break; } $418 = HEAP32[$3>>2]|0; - $419 = (_strcmp($418,10506)|0); + $419 = (_strcmp($418,10398)|0); $420 = ($419|0)!=(0); if (!($420)) { HEAP32[$1>>2] = 2; break; } $421 = HEAP32[$3>>2]|0; - $422 = (_strcmp($421,10520)|0); + $422 = (_strcmp($421,10412)|0); $423 = ($422|0)!=(0); if (!($423)) { HEAP32[$1>>2] = 15; break; } $424 = HEAP32[$3>>2]|0; - $425 = (_strcmp($424,10532)|0); + $425 = (_strcmp($424,10424)|0); $426 = ($425|0)!=(0); if (!($426)) { HEAP32[$1>>2] = 16; break; } $427 = HEAP32[$3>>2]|0; - $428 = (_strcmp($427,10541)|0); + $428 = (_strcmp($427,10433)|0); $429 = ($428|0)!=(0); if (!($429)) { HEAP32[$1>>2] = 17; break; } $430 = HEAP32[$3>>2]|0; - $431 = (_strcmp($430,10551)|0); + $431 = (_strcmp($430,10443)|0); $432 = ($431|0)!=(0); if (!($432)) { HEAP32[$1>>2] = 18; break; } $433 = HEAP32[$3>>2]|0; - $434 = (_strcmp($433,10563)|0); + $434 = (_strcmp($433,10455)|0); $435 = ($434|0)!=(0); if (!($435)) { HEAP32[$1>>2] = 19; break; } $436 = HEAP32[$3>>2]|0; - $437 = (_strcmp($436,10574)|0); + $437 = (_strcmp($436,10466)|0); $438 = ($437|0)!=(0); if (!($438)) { HEAP32[$1>>2] = 20; break; } $439 = HEAP32[$3>>2]|0; - $440 = (_strcmp($439,10582)|0); + $440 = (_strcmp($439,10474)|0); $441 = ($440|0)!=(0); if (!($441)) { HEAP32[$1>>2] = 3; break; } $442 = HEAP32[$3>>2]|0; - $443 = (_strcmp($442,10594)|0); + $443 = (_strcmp($442,10486)|0); $444 = ($443|0)!=(0); if (!($444)) { HEAP32[$1>>2] = 21; break; } $445 = HEAP32[$3>>2]|0; - $446 = (_strcmp($445,10609)|0); + $446 = (_strcmp($445,10501)|0); $447 = ($446|0)!=(0); if (!($447)) { HEAP32[$1>>2] = 22; break; } $448 = HEAP32[$3>>2]|0; - $449 = (_strcmp($448,10621)|0); + $449 = (_strcmp($448,10513)|0); $450 = ($449|0)!=(0); if (!($450)) { HEAP32[$1>>2] = 23; break; } $451 = HEAP32[$3>>2]|0; - $452 = (_strcmp($451,10635)|0); + $452 = (_strcmp($451,10527)|0); $453 = ($452|0)!=(0); if (!($453)) { HEAP32[$1>>2] = 11; break; } $454 = HEAP32[$3>>2]|0; - $455 = (_strcmp($454,10660)|0); + $455 = (_strcmp($454,10552)|0); $456 = ($455|0)!=(0); if (!($456)) { HEAP32[$1>>2] = 24; break; } $457 = HEAP32[$3>>2]|0; - $458 = (_strcmp($457,10677)|0); + $458 = (_strcmp($457,10569)|0); $459 = ($458|0)!=(0); if (!($459)) { HEAP32[$1>>2] = 25; break; } $460 = HEAP32[$3>>2]|0; - $461 = (_strcmp($460,10693)|0); + $461 = (_strcmp($460,10585)|0); $462 = ($461|0)!=(0); if (!($462)) { HEAP32[$1>>2] = 26; break; } $463 = HEAP32[$3>>2]|0; - $464 = (_strcmp($463,10709)|0); + $464 = (_strcmp($463,10601)|0); $465 = ($464|0)!=(0); if (!($465)) { HEAP32[$1>>2] = 12; break; } $466 = HEAP32[$3>>2]|0; - $467 = (_strcmp($466,10721)|0); + $467 = (_strcmp($466,10613)|0); $468 = ($467|0)!=(0); if (!($468)) { HEAP32[$1>>2] = 33; break; } $469 = HEAP32[$3>>2]|0; - $470 = (_strcmp($469,10733)|0); + $470 = (_strcmp($469,10625)|0); $471 = ($470|0)!=(0); if (!($471)) { HEAP32[$1>>2] = 34; break; } $472 = HEAP32[$3>>2]|0; - $473 = (_strcmp($472,10757)|0); + $473 = (_strcmp($472,10649)|0); $474 = ($473|0)!=(0); if (!($474)) { HEAP32[$1>>2] = 1; break; } $475 = HEAP32[$3>>2]|0; - $476 = (_strcmp($475,10770)|0); + $476 = (_strcmp($475,10662)|0); $477 = ($476|0)!=(0); if (!($477)) { HEAP32[$1>>2] = 2; break; } $478 = HEAP32[$3>>2]|0; - $479 = (_strcmp($478,10784)|0); + $479 = (_strcmp($478,10676)|0); $480 = ($479|0)!=(0); if (!($480)) { HEAP32[$1>>2] = 35; break; } $481 = HEAP32[$3>>2]|0; - $482 = (_strcmp($481,10806)|0); + $482 = (_strcmp($481,10698)|0); $483 = ($482|0)!=(0); if (!($483)) { HEAP32[$1>>2] = 36; break; } $484 = HEAP32[$3>>2]|0; - $485 = (_strcmp($484,10813)|0); + $485 = (_strcmp($484,10705)|0); $486 = ($485|0)!=(0); if (!($486)) { HEAP32[$1>>2] = 3; break; } $487 = HEAP32[$3>>2]|0; - $488 = (_strcmp($487,10829)|0); + $488 = (_strcmp($487,10721)|0); $489 = ($488|0)!=(0); if (!($489)) { HEAP32[$1>>2] = 2; break; } $490 = HEAP32[$3>>2]|0; - $491 = (_strcmp($490,10846)|0); + $491 = (_strcmp($490,10738)|0); $492 = ($491|0)!=(0); if (!($492)) { HEAP32[$1>>2] = 1; break; } $493 = HEAP32[$3>>2]|0; - $494 = (_strcmp($493,10863)|0); + $494 = (_strcmp($493,10755)|0); $495 = ($494|0)!=(0); if (!($495)) { HEAP32[$1>>2] = 28; break; } $496 = HEAP32[$3>>2]|0; - $497 = (_strcmp($496,10879)|0); + $497 = (_strcmp($496,10771)|0); $498 = ($497|0)!=(0); if (!($498)) { HEAP32[$1>>2] = 1; break; } $499 = HEAP32[$3>>2]|0; - $500 = (_strcmp($499,10895)|0); + $500 = (_strcmp($499,10787)|0); $501 = ($500|0)!=(0); if (!($501)) { HEAP32[$1>>2] = 4; break; } $502 = HEAP32[$3>>2]|0; - $503 = (_strcmp($502,10912)|0); + $503 = (_strcmp($502,10804)|0); $504 = ($503|0)!=(0); if (!($504)) { HEAP32[$1>>2] = 29; break; } $505 = HEAP32[$3>>2]|0; - $506 = (_strcmp($505,10926)|0); + $506 = (_strcmp($505,10818)|0); $507 = ($506|0)!=(0); if (!($507)) { HEAP32[$1>>2] = 30; break; } $508 = HEAP32[$3>>2]|0; - $509 = (_strcmp($508,10938)|0); + $509 = (_strcmp($508,10830)|0); $510 = ($509|0)!=(0); if (!($510)) { HEAP32[$1>>2] = 22; break; } $511 = HEAP32[$3>>2]|0; - $512 = (_strcmp($511,10949)|0); + $512 = (_strcmp($511,10841)|0); $513 = ($512|0)!=(0); if (!($513)) { HEAP32[$1>>2] = 2; break; } $514 = HEAP32[$3>>2]|0; - $515 = (_strcmp($514,10962)|0); + $515 = (_strcmp($514,10854)|0); $516 = ($515|0)!=(0); if (!($516)) { HEAP32[$1>>2] = 23; break; } $517 = HEAP32[$3>>2]|0; - $518 = (_strcmp($517,10972)|0); + $518 = (_strcmp($517,10864)|0); $519 = ($518|0)!=(0); if (!($519)) { HEAP32[$1>>2] = 2; break; } $520 = HEAP32[$3>>2]|0; - $521 = (_strcmp($520,10989)|0); + $521 = (_strcmp($520,10881)|0); $522 = ($521|0)!=(0); if (!($522)) { HEAP32[$1>>2] = 24; break; } $523 = HEAP32[$3>>2]|0; - $524 = (_strcmp($523,11001)|0); + $524 = (_strcmp($523,10893)|0); $525 = ($524|0)!=(0); if (!($525)) { HEAP32[$1>>2] = 25; break; } $526 = HEAP32[$3>>2]|0; - $527 = (_strcmp($526,11023)|0); + $527 = (_strcmp($526,10915)|0); $528 = ($527|0)!=(0); if (!($528)) { HEAP32[$1>>2] = 26; break; } $529 = HEAP32[$3>>2]|0; - $530 = (_strcmp($529,11043)|0); + $530 = (_strcmp($529,10935)|0); $531 = ($530|0)!=(0); if (!($531)) { HEAP32[$1>>2] = 3; break; } $532 = HEAP32[$3>>2]|0; - $533 = (_strcmp($532,11056)|0); + $533 = (_strcmp($532,10948)|0); $534 = ($533|0)!=(0); if (!($534)) { HEAP32[$1>>2] = 27; break; } $535 = HEAP32[$3>>2]|0; - $536 = (_strcmp($535,11078)|0); + $536 = (_strcmp($535,10970)|0); $537 = ($536|0)!=(0); if (!($537)) { HEAP32[$1>>2] = 28; break; } $538 = HEAP32[$3>>2]|0; - $539 = (_strcmp($538,11098)|0); + $539 = (_strcmp($538,10990)|0); $540 = ($539|0)!=(0); if (!($540)) { HEAP32[$1>>2] = 2; break; } $541 = HEAP32[$3>>2]|0; - $542 = (_strcmp($541,11115)|0); + $542 = (_strcmp($541,11007)|0); $543 = ($542|0)!=(0); if (!($543)) { HEAP32[$1>>2] = 2; break; } $544 = HEAP32[$3>>2]|0; - $545 = (_strcmp($544,11132)|0); + $545 = (_strcmp($544,11024)|0); $546 = ($545|0)!=(0); if (!($546)) { HEAP32[$1>>2] = 3; break; } $547 = HEAP32[$3>>2]|0; - $548 = (_strcmp($547,11152)|0); + $548 = (_strcmp($547,11044)|0); $549 = ($548|0)!=(0); if ($549) { $550 = HEAP32[$2>>2]|0; @@ -19231,7 +23416,15 @@ function _emscripten_GetProcAddress($0) { function _emscripten_get_global_libc() { var label = 0, sp = 0; sp = STACKTOP; - return (32936|0); + return (33224|0); +} +function ___emscripten_pthread_data_constructor() { + var $0 = 0, $1 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 188|0); + HEAP32[$1>>2] = (33264); + return; } function ___stdio_close($0) { $0 = $0|0; @@ -19241,7 +23434,7 @@ function ___stdio_close($0) { $vararg_buffer = sp; $1 = ((($0)) + 60|0); $2 = HEAP32[$1>>2]|0; - $3 = (_dummy_738($2)|0); + $3 = (_dummy_736($2)|0); HEAP32[$vararg_buffer>>2] = $3; $4 = (___syscall6(6,($vararg_buffer|0))|0); $5 = (___syscall_ret($4)|0); @@ -19421,12 +23614,7 @@ function ___pthread_self_108() { $0 = (_pthread_self()|0); return ($0|0); } -function _pthread_self() { - var label = 0, sp = 0; - sp = STACKTOP; - return (2976|0); -} -function _dummy_738($0) { +function _dummy_736($0) { $0 = $0|0; var label = 0, sp = 0; sp = STACKTOP; @@ -19442,7 +23630,7 @@ function ___stdout_write($0,$1,$2) { $vararg_buffer = sp; $3 = sp + 16|0; $4 = ((($0)) + 36|0); - HEAP32[$4>>2] = 8; + HEAP32[$4>>2] = 9; $5 = HEAP32[$0>>2]|0; $6 = $5 & 64; $7 = ($6|0)==(0); @@ -19536,8 +23724,68 @@ function _memcmp($0,$1,$2) { $13 = (($11) - ($12))|0; $14 = $13; } - } while(0); - return ($14|0); + } while(0); + return ($14|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=3120; 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; @@ -19561,7 +23809,7 @@ function _vfprintf($0,$1,$2) { $$0 = -1; } else { $9 = ((($0)) + 76|0); - $10 = HEAP32[$9>>2]|0; + $10 = (Atomics_load(HEAP32,$9>>2)|0); $11 = ($10|0)>(-1); if ($11) { $12 = (___lockfile($0)|0); @@ -19974,7 +24222,7 @@ function _printf_core($0,$1,$2,$3,$4) { $133 = HEAP8[$128>>0]|0; $134 = $133 << 24 >> 24; $135 = (($134) + -65)|0; - $136 = ((11268 + (($$0252*58)|0)|0) + ($135)|0); + $136 = ((11160 + (($$0252*58)|0)|0) + ($135)|0); $137 = HEAP8[$136>>0]|0; $138 = $137&255; $139 = (($138) + -1)|0; @@ -20152,7 +24400,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 = 11732;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; + $$0228 = $216;$$1233 = 0;$$1238 = 11624;$$2256 = $$0254$$0254$;$$4266 = $$1263$;$248 = $212;$250 = $215; label = 67; break; } @@ -20173,7 +24421,7 @@ function _printf_core($0,$1,$2,$3,$4) { $235 = (($233) + 4)|0; $236 = $235; HEAP32[$236>>2] = $232; - $$0232 = 1;$$0237 = 11732;$242 = $231;$243 = $232; + $$0232 = 1;$$0237 = 11624;$242 = $231;$243 = $232; label = 66; break L71; } else { @@ -20181,8 +24429,8 @@ function _printf_core($0,$1,$2,$3,$4) { $238 = ($237|0)==(0); $239 = $$1263$ & 1; $240 = ($239|0)==(0); - $$ = $240 ? 11732 : (11734); - $$$ = $238 ? $$ : (11733); + $$ = $240 ? 11624 : (11626); + $$$ = $238 ? $$ : (11625); $241 = $$1263$ & 2049; $narrow = ($241|0)!=(0); $$284$ = $narrow&1; @@ -20199,7 +24447,7 @@ function _printf_core($0,$1,$2,$3,$4) { $168 = (($165) + 4)|0; $169 = $168; $170 = HEAP32[$169>>2]|0; - $$0232 = 0;$$0237 = 11732;$242 = $167;$243 = $170; + $$0232 = 0;$$0237 = 11624;$242 = $167;$243 = $170; label = 66; break; } @@ -20212,7 +24460,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 = 11732;$$2251 = $11;$$5 = 1;$$6268 = $164; + $$2 = $13;$$2234 = 0;$$2239 = 11624;$$2251 = $11;$$5 = 1;$$6268 = $164; break; } case 109: { @@ -20226,7 +24474,7 @@ function _printf_core($0,$1,$2,$3,$4) { case 115: { $269 = HEAP32[$6>>2]|0; $270 = ($269|0)!=(0|0); - $271 = $270 ? $269 : 11742; + $271 = $270 ? $269 : 11634; $$1 = $271; label = 71; break; @@ -20249,7 +24497,7 @@ function _printf_core($0,$1,$2,$3,$4) { $$pre349 = HEAP32[$6>>2]|0; $284 = ($$0254|0)==(0); if ($284) { - _pad_674($0,32,$$1260,0,$$1263$); + _pad_672($0,32,$$1260,0,$$1263$); $$0240$lcssa357 = 0; label = 84; } else { @@ -20266,7 +24514,7 @@ function _printf_core($0,$1,$2,$3,$4) { break; } default: { - $$2 = $21;$$2234 = 0;$$2239 = 11732;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; + $$2 = $21;$$2234 = 0;$$2239 = 11624;$$2251 = $11;$$5 = $$0254;$$6268 = $$1263$; } } } while(0); @@ -20288,8 +24536,8 @@ function _printf_core($0,$1,$2,$3,$4) { $207 = ($206|0)==(0); $or$cond283 = $207 | $205; $208 = $$1236 >> 4; - $209 = (11732 + ($208)|0); - $$289 = $or$cond283 ? 11732 : $209; + $209 = (11624 + ($208)|0); + $$289 = $or$cond283 ? 11624 : $209; $$290 = $or$cond283 ? 0 : 2; $$0228 = $202;$$1233 = $$290;$$1238 = $$289;$$2256 = $$1255;$$4266 = $$3265;$248 = $197;$250 = $200; label = 67; @@ -20310,7 +24558,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 = 11732;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; + $$2 = $$1;$$2234 = 0;$$2239 = 11624;$$2251 = $$1250;$$5 = $$3257;$$6268 = $164; } else if ((label|0) == 75) { label = 0; @@ -20346,7 +24594,7 @@ function _printf_core($0,$1,$2,$3,$4) { $$0 = -1; break L1; } - _pad_674($0,32,$$1260,$$0240$lcssa,$$1263$); + _pad_672($0,32,$$1260,$$0240$lcssa,$$1263$); $295 = ($$0240$lcssa|0)==(0); if ($295) { $$0240$lcssa357 = 0; @@ -20407,7 +24655,7 @@ function _printf_core($0,$1,$2,$3,$4) { else if ((label|0) == 84) { label = 0; $303 = $$1263$ ^ 8192; - _pad_674($0,32,$$1260,$$0240$lcssa357,$303); + _pad_672($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; @@ -20421,14 +24669,14 @@ function _printf_core($0,$1,$2,$3,$4) { $312 = (($$$5) + ($$2234))|0; $313 = ($$1260|0)<($312|0); $$2261 = $313 ? $312 : $$1260; - _pad_674($0,32,$$2261,$312,$$6268); + _pad_672($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); + _pad_672($0,48,$$2261,$312,$314); + _pad_672($0,48,$$$5,$310,0); _out($0,$$2,$310); $315 = $$6268 ^ 8192; - _pad_674($0,32,$$2261,$312,$315); + _pad_672($0,32,$$2261,$312,$315); $$0243 = $$2261;$$0247 = $$1248;$$0269 = $$3272;$21 = $132; } L114: do { @@ -20818,3231 +25066,5314 @@ function _pop_arg($0,$1,$2) { break L1; } } - } while(0); + } 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 = (11676 + ($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); - return; + $38 = ($$3|0)!=(0); + $39 = $38 ? $$2 : 0; + return ($39|0); } -function _fmt_x($0,$1,$2,$3) { +function _pad_672($0,$1,$2,$3,$4) { $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; + $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; - $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; + 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); } - return ($$05$lcssa|0); + STACKTOP = sp;return; } -function _fmt_o($0,$1,$2) { +function _wctomb($0,$1) { $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; + var $$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $3 = ($0|0)==(0); - $4 = ($1|0)==(0); - $5 = $3 & $4; - if ($5) { - $$0$lcssa = $2; + $2 = ($0|0)==(0|0); + if ($2) { + $$0 = 0; } 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; - } - } + $3 = (_wcrtomb($0,$1,0)|0); + $$0 = $3; } - return ($$0$lcssa|0); + return ($$0|0); } -function _fmt_u($0,$1,$2) { +function _fmt_fp($0,$1,$2,$3,$4,$5) { $0 = $0|0; - $1 = $1|0; + $1 = +$1; $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; + $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; - $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 { + 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_673($1)|0); + $12 = tempRet0; + $13 = ($12|0)<(0); + if ($13) { + $14 = -$1; + $$0471 = $14;$$0520 = 1;$$0521 = 11641; + } else { + $15 = $4 & 2048; + $16 = ($15|0)==(0); + $17 = $4 & 1; + $18 = ($17|0)==(0); + $$ = $18 ? (11642) : (11647); + $$$ = $16 ? $$ : (11644); + $19 = $4 & 2049; + $narrow = ($19|0)!=(0); + $$534$ = $narrow&1; + $$0471 = $1;$$0520 = $$534$;$$0521 = $$$; + } + (___DOUBLE_BITS_673($$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 = (11676 + ($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_672($0,32,$2,$104,$4); + _out($0,$$0521$,$45); + $105 = $4 ^ 65536; + _pad_672($0,48,$2,$104,$105); + _out($0,$8,$99); + $106 = (($$pn) - ($99))|0; + _pad_672($0,48,$106,0,0); + _out($0,$77,$100); + $107 = $4 ^ 8192; + _pad_672($0,32,$2,$104,$107); + $$sink562 = $104; 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; + $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 { - $$012 = $27;$$111 = $26; + $$pre = HEAP32[$7>>2]|0; + $$3 = $36;$$pr = $$pre; } - } - } - 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; + $112 = ($$pr|0)<(0); + $113 = ((($6)) + 288|0); + $$556 = $112 ? $6 : $113; + $$0498 = $$556;$$4 = $$3; 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; + $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 { - $$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; + $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 { - $20 = Math_imul($3, 16843009)|0; - $21 = ($$036$lcssa64>>>0)>(3); - L11: do { - if ($21) { - $$046 = $$035$lcssa65;$$13745 = $$036$lcssa64; + $$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) { - $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; + $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 { - $$0$lcssa = $29;$$137$lcssa = $30; - label = 11; - break L11; + break; } } - $$140 = $$046;$$23839 = $$13745; + $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 { - $$0$lcssa = $$035$lcssa65;$$137$lcssa = $$036$lcssa64; - label = 11; + $154 = HEAP32[$$3484648>>2]|0; + $155 = ($154|0)==(0); + $156 = ((($$3484648)) + 4|0); + $$$3484691 = $155 ? $156 : $$3484648; + $$$3484692 = $$$3484691;$$4502 = $$3501647; } - } while(0); - if ((label|0) == 11) { - $32 = ($$137$lcssa|0)==(0); - if ($32) { - $$2 = $$0$lcssa;$$3 = 0; - break; + $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 { - $$140 = $$0$lcssa;$$23839 = $$137$lcssa; + $$3484$lcssa = $$$3484692;$$3501$lcssa = $$$4502; + break; } } - while(1) { - $33 = HEAP8[$$140>>0]|0; - $34 = ($33<<24>>24)==($18<<24>>24); - if ($34) { - $$2 = $$140;$$3 = $$23839; - break L8; + } 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; + } } - $35 = ((($$140)) + 1|0); - $36 = (($$23839) + -1)|0; - $37 = ($36|0)==(0); - if ($37) { - $$2 = $35;$$3 = 0; - break; + } + } 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 { - $$140 = $35;$$23839 = $36; + $$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; } - } - } 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; + $$7505 = $$7505$ph; while(1) { - _out($0,$5,256); - $14 = (($$011) + -256)|0; - $15 = ($14>>>0)>(255); - if ($15) { - $$011 = $14; + $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; } } - $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; + $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; } - $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; + $318 = (($$0520) + 1)|0; + $319 = (($318) + ($$3477))|0; + $$1526 = (($319) + ($291))|0; + $320 = (($$1526) + ($$pn566))|0; + _pad_672($0,32,$2,$320,$4); + _out($0,$$0521,$$0520); + $321 = $4 ^ 65536; + _pad_672($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 { - $$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; + $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; } - $53 = HEAP8[$$0521$>>0]|0; - $54 = ($53<<24>>24)==(45); - if ($54) { - $55 = -$36; - $56 = $55 - $51; - $57 = $51 + $56; - $58 = -$57; - $$1472 = $58; + } + $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,11692,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_672($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 { - $59 = $36 + $51; - $60 = $59 - $51; - $$1472 = $60; + $$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,11692,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; } } - } 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; + $$5$lcssa = $$3477; } - $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; - } + $383 = (($$5$lcssa) + 18)|0; + _pad_672($0,48,$383,18,0); + $384 = $11; + $385 = $$2513; + $386 = (($384) - ($385))|0; + _out($0,$$2513,$386); + } + $387 = $4 ^ 8192; + _pad_672($0,32,$2,$320,$387); + $$sink562 = $320; + } else { + $27 = $5 & 32; + $28 = ($27|0)!=(0); + $29 = $28 ? 11660 : 11664; + $30 = ($$0471 != $$0471) | (0.0 != 0.0); + $31 = $28 ? 11668 : 11672; + $$0510 = $30 ? $31 : $29; + $32 = (($$0520) + 3)|0; + $33 = $4 & -65537; + _pad_672($0,32,$2,$32,$33); + _out($0,$$0521,$$0520); + _out($0,$$0510,3); + $34 = $4 ^ 8192; + _pad_672($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_673($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_446()|0); + $7 = ((($6)) + 188|0); + $8 = HEAP32[$7>>2]|0; + $9 = (Atomics_load(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; } - $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; + } + $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; - } - $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; + $56 = (___errno_location()|0); + HEAP32[$56>>2] = 84; + $$0 = -1; + break; } - $112 = ($$pr|0)<(0); - $113 = ((($6)) + 288|0); - $$556 = $112 ? $6 : $113; - $$0498 = $$556;$$4 = $$3; + } + } while(0); + return ($$0|0); +} +function ___pthread_self_446() { + 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 = (11694 + ($$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 = 11782;$$115 = 87; + label = 5; + break; + } else { + $$016 = $7; + } + } + if ((label|0) == 2) { + $2 = ($$016|0)==(0); + if ($2) { + $$012$lcssa = 11782; + } else { + $$01214 = 11782;$$115 = $$016; + label = 5; + } + } + if ((label|0) == 5) { + while(1) { + label = 0; + $$113 = $$01214; 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 { + $9 = HEAP8[$$113>>0]|0; + $10 = ($9<<24>>24)==(0); + $11 = ((($$113)) + 1|0); + if ($10) { break; + } else { + $$113 = $11; } } - $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; + $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 = (Atomics_load(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) { - $137 = ($$2500>>>0)>($$2483$ph>>>0); - if (!($137)) { - break; + $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; } - $138 = ((($$2500)) + -4|0); - $139 = HEAP32[$138>>2]|0; - $140 = ($139|0)==(0); - if ($140) { - $$2500 = $138; - } else { + $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; + } } - $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; + $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 { - $$1482$lcssa = $$2483$ph;$$1499$lcssa = $$2500;$$pr564 = $142; - break; + $$4 = 0; } + } else { + $$4 = 0; } } else { - $$1482$lcssa = $$556;$$1499$lcssa = $115;$$pr564 = $$pr; + $$4 = 0; } - $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; - } + } 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; } - $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; + $22 = (($$038) + -1)|0; + $23 = (($0) + ($22)|0); + $24 = HEAP8[$23>>0]|0; + $25 = ($24<<24>>24)==(10); + if ($25) { + break; } else { - $171 = ((($$3501647)) + 4|0); - HEAP32[$$3501647>>2] = $164; - $$$3484692 = $$$3484;$$4502 = $171; + $$038 = $22; } - } 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; + $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; } - } 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; + $6 = ((($$01519)) + 1|0); + $7 = $6; + $8 = $7 & 3; + $9 = ($8|0)==(0); + if ($9) { + $$015$lcssa = $6; + label = 4; + break; } 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; - } - } + $$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 { - $$1515 = 0; + break; } - $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; - } - } + } + $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 { - $$1531$lcssa = 10; + $$pn = $19; } - $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; + } + } + $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 { - $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; + $$03039 = $13; } - $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; + } + } + $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; } - $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; + $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 { - $$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; - } - } + $$029$lcssa = $31; + break; } - } else { - $$4492 = $210;$$4518 = $$1515;$$8 = $$3484$lcssa; } + } else { + $$029$lcssa = $$030$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(0); + $38 = $1&255; + $$1 = $$029$lcssa; while(1) { - $252 = ($$7505>>>0)>($$9$ph>>>0); - if (!($252)) { - $$lcssa673 = 0; + $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; - } - $253 = ((($$7505)) + -4|0); - $254 = HEAP32[$253>>2]|0; - $255 = ($254|0)==(0); - if ($255) { - $$7505 = $253; } else { - $$lcssa673 = 1; - break; + $$1 = $42; } } - $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; + } + } 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; } - $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; - } + $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 { - $$1480 = $$0479;$$3477 = $$2476;$$pre$phi690Z2D = $264; + $$02642 = $11;$$02741 = $12; } - } 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; - } + } + $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 { - $$1512$lcssa = $300; + $$12834 = $34;$$135 = $33; } - $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; + } + } + return ($$029|0); +} +function ___ofl_lock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___lock((33288|0)); + return (33296|0); +} +function ___ofl_unlock() { + var label = 0, sp = 0; + sp = STACKTOP; + ___unlock((33288|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 = (Atomics_load(HEAP32,779)|0); + $9 = ($8|0)==(0|0); + if ($9) { + $29 = 0; + } else { + $10 = (Atomics_load(HEAP32,779)|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) { - $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; - } + $14 = ((($$02327)) + 76|0); + $15 = (Atomics_load(HEAP32,$14>>2)|0); + $16 = ($15|0)>(-1); + if ($16) { + $17 = (___lockfile($$02327)|0); + $26 = $17; } 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; - } + $26 = 0; } - $335 = $$1465; - $336 = (($324) - ($335))|0; - _out($0,$$1465,$336); - $337 = ((($$5493597)) + 4|0); - $338 = ($337>>>0)>($$556>>>0); - if ($338) { + $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 { - $$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; + $$02327 = $$023;$$02426 = $$1; + } + } + } + ___ofl_unlock(); + $$0 = $$024$lcssa; + } else { + $2 = ((($0)) + 76|0); + $3 = (Atomics_load(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; } - } - } 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; + $17 = ((($5)) + 2|0); + $18 = HEAP8[$17>>0]|0; + $19 = ($18<<24>>24)==(0); + if ($19) { + $$0 = 0; } 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; + $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 { - $369 = ($$0>>>0)>($8>>>0); - if (!($369)) { - $$2 = $$0; + $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; - } - $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); + } 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 _frexp($0,$1) { - $0 = +$0; +function _fourbyte_strstr($0,$1) { + $0 = $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; + 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; - 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; + $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; + } } - 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); + $46 = ((($$sink21$lcssa)) + -3|0); + $47 = $$lcssa ? $46 : 0; + return ($47|0); } -function _wcrtomb($0,$1,$2) { +function _twoway_strstr($0,$1) { $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; + 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; - $3 = ($0|0)==(0|0); - do { - if ($3) { - $$0 = 1; + 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 { - $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; + $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 { - $12 = (___errno_location()|0); - HEAP32[$12>>2] = 84; - $$0 = -1; - break; + $$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; } - $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; + } + } 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 { - $56 = (___errno_location()|0); - HEAP32[$56>>2] = 84; - $$0 = -1; - break; + $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); - 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); + STACKTOP = sp;return ($$3|0); } -function ___strerror_l($0,$1) { +function _strspn($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; + 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; - $$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; + 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 { - $$01214 = 11890;$$115 = $$016; - label = 5; - } - } - if ((label|0) == 5) { - while(1) { - label = 0; - $$113 = $$01214; + $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) { - $9 = HEAP8[$$113>>0]|0; - $10 = ($9<<24>>24)==(0); - $11 = ((($$113)) + 1|0); - if ($10) { + $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 { - $$113 = $11; + $$01925 = $24;$17 = $25; } } - $12 = (($$115) + -1)|0; - $13 = ($12|0)==(0); - if ($13) { - $$012$lcssa = $11; - break; - } else { - $$01214 = $11;$$115 = $12; - label = 5; - } + $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; } - } - $14 = ((($1)) + 20|0); - $15 = HEAP32[$14>>2]|0; - $16 = (___lctrans($$012$lcssa,$15)|0); - return ($16|0); + } while(0); + STACKTOP = sp;return ($$0|0); } -function ___lctrans($0,$1) { +function _srand($0) { $0 = $0|0; - $1 = $1|0; - var $2 = 0, label = 0, sp = 0; + var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = (___lctrans_impl($0,$1)|0); - return ($2|0); + $1 = (($0) + -1)|0; + $2 = 14272; + $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 = 14272; + $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 = 14272; + $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 ___lctrans_impl($0,$1) { +function _vprintf($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; + var $2 = 0, $3 = 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); + $2 = HEAP32[747]|0; + $3 = (_vfprintf($2,$0,$1)|0); + return ($3|0); } -function ___mo_lookup($0,$1,$2) { +function _strcspn($0,$1) { $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; + 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; - $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); + 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 ($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; + 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) { - $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; + $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; } - $43 = (($0) + ($35)|0); - $44 = (_strcmp($2,$43)|0); - $45 = ($44|0)==(0); - if ($45) { + $32 = ((($$01922)) + 1|0); + $33 = HEAP8[$32>>0]|0; + $34 = ($33<<24>>24)==(0); + if ($34) { + $$019$sink = $32; 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; + $$01922 = $32;$23 = $33; } } - $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; } + } + } 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[8325]|0; + $4 = ($3|0)==(0|0); + if ($4) { + $$0 = 0; } else { - $$4 = 0; + $$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[8325] = 0; + $$0 = 0; + break; + } + $9 = (_strcspn($6,$1)|0); + $10 = (($6) + ($9)|0); + HEAP32[8325] = $10; + $11 = HEAP8[$10>>0]|0; + $12 = ($11<<24>>24)==(0); + if ($12) { + HEAP32[8325] = 0; + $$0 = $6; + break; + } else { + $13 = ((($10)) + 1|0); + HEAP32[8325] = $13; + HEAP8[$10>>0] = 0; + $$0 = $6; + break; + } } } while(0); - return ($$4|0); + return ($$0|0); } -function _swapc($0,$1) { +function __emscripten_atomic_fetch_and_add_u64($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $$ = 0, $2 = 0, $3 = 0, label = 0, sp = 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, $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); - $3 = (_llvm_bswap_i32(($0|0))|0); - $$ = $2 ? $0 : $3; - return ($$|0); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function ___fwritex($0,$1,$2) { +function __emscripten_atomic_fetch_and_and_u64($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; + 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, 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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { 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); + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function ___towrite($0) { +function __emscripten_atomic_fetch_and_or_u64($0,$1,$2) { $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; + $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, $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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } } - return ($$0|0); + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function _strlen($0) { +function __emscripten_atomic_fetch_and_sub_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { 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 { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { 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; - } - } + $10 = ($7|0)==(0); + if ($10) { + break; } - $21 = $$1$lcssa; - $$sink = $21; } - $22 = (($$sink) - ($1))|0; - return ($22|0); + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function _strchr($0,$1) { +function __emscripten_atomic_fetch_and_xor_u64($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 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); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function ___strchrnul($0,$1) { +function _emscripten_async_run_in_main_thread($0) { $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; + var $$0 = 0, $$0$in = 0, $$0$in19 = 0, $$0$lcssa = 0, $$020 = 0, $$expand_i1_val = 0, $$lcssa = 0, $$lcssa18 = 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; + var $9 = 0, $call_queue$init$val = 0, $call_queue$init$val$pre_trunc = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = $1 & 255; + $1 = ($0|0)==(0|0); + if ($1) { + ___assert_fail((13876|0),(13708|0),260,(13881|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); $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; + if (!($3)) { + __do_call($0); + return; + } + (___pthread_mutex_lock(33820)|0); + $call_queue$init$val$pre_trunc = HEAP8[38271]|0; + $call_queue$init$val = $call_queue$init$val$pre_trunc&1; + if (!($call_queue$init$val)) { + $$expand_i1_val = 1; + HEAP8[38271] = $$expand_i1_val; + } + $4 = (Atomics_load(HEAP32, 8462)|0); + $5 = (Atomics_load(HEAP32, 8463)|0); + $$0$in19 = (($5) + 1)|0; + $$020 = (($$0$in19|0) % 128)&-1; + $6 = ($$020|0)==($4|0); + if ($6) { + $7 = $4; + while(1) { + (___pthread_mutex_unlock(33820)|0); + (_emscripten_futex_wait((33848|0),($7|0),inf)|0); + (___pthread_mutex_lock(33820)|0); + $8 = (Atomics_load(HEAP32, 8462)|0); + $9 = (Atomics_load(HEAP32, 8463)|0); + $$0$in = (($9) + 1)|0; + $$0 = (($$0$in|0) % 128)&-1; + $10 = ($$0|0)==($8|0); + if ($10) { + $7 = $8; } 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; - } + $$0$lcssa = $$0;$$lcssa = $9;$$lcssa18 = $8; + break; } } - } while(0); - return ($$0|0); + } else { + $$0$lcssa = $$020;$$lcssa = $5;$$lcssa18 = $4; + } + $11 = (33856 + ($$lcssa<<2)|0); + HEAP32[$11>>2] = $0; + $12 = ($$lcssa18|0)==($$lcssa|0); + if ($12) { + _emscripten_asm_const_v(1); + } + $13 = (Atomics_store(HEAP32, 8463, $$0$lcssa)|0); + (___pthread_mutex_unlock(33820)|0); + return; } -function _strcpy($0,$1) { +function _emscripten_atomic_add_u64($0,$1,$2) { $0 = $0|0; $1 = $1|0; - var label = 0, sp = 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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; sp = STACKTOP; - (___stpcpy($0,$1)|0); - return ($0|0); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Add(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); } -function ___stpcpy($0,$1) { +function _emscripten_atomic_and_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $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; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } - $$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; - } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 & $1; + $18 = $16 & $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_atomic_cas_u64($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, $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, $5 = 0, $6 = 0, $7 = 0; + var $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $5 = $0; + $6 = $5 >>> 3; + $7 = $6 & 255; + $8 = (34376 + ($7<<2)|0); + while(1) { + while(1) { + $9 = (Atomics_load(HEAP32, $8>>2)|0); + $10 = (Atomics_compareExchange(HEAP32, $8>>2, $9, 1)|0); + $11 = ($9|0)==($10|0); + if ($11) { + break; } } + $12 = ($9|0)==(0); + if ($12) { + break; + } } - return ($$029|0); -} -function ___ofl_lock() { - var label = 0, sp = 0; - sp = STACKTOP; - ___lock((33000|0)); - return (33008|0); + $13 = $0; + $14 = $13; + $15 = HEAP32[$14>>2]|0; + $16 = (($13) + 4)|0; + $17 = $16; + $18 = HEAP32[$17>>2]|0; + $19 = ($15|0)==($1|0); + $20 = ($18|0)==($2|0); + $21 = $19 & $20; + if (!($21)) { + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); + } + $22 = $0; + $23 = $22; + HEAP32[$23>>2] = $3; + $24 = (($22) + 4)|0; + $25 = $24; + HEAP32[$25>>2] = $4; + $26 = (Atomics_store(HEAP32, $8>>2, 0)|0); + tempRet0 = ($18); + return ($15|0); } -function ___ofl_unlock() { - var label = 0, sp = 0; +function _emscripten_atomic_exchange_u32($0,$1) { + $0 = $0|0; + $1 = $1|0; + var $2 = 0, $3 = 0, $4 = 0, label = 0, sp = 0; sp = STACKTOP; - ___unlock((33000|0)); - return; + while(1) { + $2 = (Atomics_load(HEAP32, $0>>2)|0); + $3 = (Atomics_compareExchange(HEAP32, $0>>2, $2, $1)|0); + $4 = ($2|0)==($3|0); + if ($4) { + break; + } + } + return ($2|0); } -function _fflush($0) { +function _emscripten_atomic_exchange_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0; + var sp = 0; sp = STACKTOP; - $1 = ($0|0)==(0|0); - do { - if ($1) { - $8 = HEAP32[837]|0; - $9 = ($8|0)==(0|0); + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|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); + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $0; + $18 = $17; + HEAP32[$18>>2] = $1; + $19 = (($17) + 4)|0; + $20 = $19; + HEAP32[$20>>2] = $2; + $21 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($16); + return ($13|0); } -function ___fflush_unlocked($0) { +function _emscripten_atomic_load_f32($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; + var $1 = 0, $2 = 0.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; + $1 = (Atomics_load(HEAP32, $0>>2)|0); + $2 = (HEAP32[tempDoublePtr>>2]=$1,+HEAPF32[tempDoublePtr>>2]); + return (+$2); +} +function _emscripten_atomic_load_f64($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.0, label = 0, sp = 0; + sp = STACKTOP; + $1 = $0; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34376 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; + } } - } 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); + $8 = ($5|0)==(0); + if ($8) { + break; } - $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); + $9 = +HEAPF64[$0>>3]; + $10 = (Atomics_store(HEAP32, $4>>2, 0)|0); + return (+$9); } -function _strstr($0,$1) { +function _emscripten_atomic_load_u64($0) { $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; + var $1 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; sp = STACKTOP; - $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; - } - } - } - } - } + $1 = $0; + $2 = $1 >>> 3; + $3 = $2 & 255; + $4 = (34376 + ($3<<2)|0); + while(1) { + while(1) { + $5 = (Atomics_load(HEAP32, $4>>2)|0); + $6 = (Atomics_compareExchange(HEAP32, $4>>2, $5, 1)|0); + $7 = ($5|0)==($6|0); + if ($7) { + break; + } + } + $8 = ($5|0)==(0); + if ($8) { + break; + } + } + $9 = $0; + $10 = $9; + $11 = HEAP32[$10>>2]|0; + $12 = (($9) + 4)|0; + $13 = $12; + $14 = HEAP32[$13>>2]|0; + $15 = (Atomics_store(HEAP32, $4>>2, 0)|0); + tempRet0 = ($14); + return ($11|0); +} +function _emscripten_atomic_or_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; } } - } while(0); - return ($$0|0); + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 | $1; + $18 = $16 | $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); } -function _twobyte_strstr($0,$1) { +function _emscripten_atomic_store_f32($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; + $1 = +$1; + var $2 = 0, $3 = 0, $4 = 0.0, 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; + $2 = (HEAPF32[tempDoublePtr>>2]=$1,HEAP32[tempDoublePtr>>2]|0); + $3 = (Atomics_store(HEAP32, $0>>2, $2)|0); + $4 = (+($3>>>0)); + return (+$4); +} +function _emscripten_atomic_store_f64($0,$1) { + $0 = $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 = $0; + $3 = $2 >>> 3; + $4 = $3 & 255; + $5 = (34376 + ($4<<2)|0); while(1) { - $11 = ((($$sink17$sink)) + 1|0); - $12 = HEAP8[$11>>0]|0; - $13 = ($12<<24>>24)==(0); - if ($13) { - $$lcssa = 0; + while(1) { + $6 = (Atomics_load(HEAP32, $5>>2)|0); + $7 = (Atomics_compareExchange(HEAP32, $5>>2, $6, 1)|0); + $8 = ($6|0)==($7|0); + if ($8) { + break; + } + } + $9 = ($6|0)==(0); + if ($9) { 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; + } + HEAPF64[$0>>3] = $1; + $10 = (Atomics_store(HEAP32, $5>>2, 0)|0); + return (+$1); +} +function _emscripten_atomic_store_u64($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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, label = 0, sp = 0; + sp = STACKTOP; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { + while(1) { + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { break; - } else { - $$sink$in = $15;$$sink17$sink = $11; } } - return ($$lcssa|0); + $11 = $0; + $12 = $11; + HEAP32[$12>>2] = $1; + $13 = (($11) + 4)|0; + $14 = $13; + HEAP32[$14>>2] = $2; + $15 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($2); + return ($1|0); } -function _threebyte_strstr($0,$1) { +function _emscripten_atomic_sub_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { 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; + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { break; - } else { - $$01619 = $30;$$020 = $34; } } + $10 = ($7|0)==(0); + if ($10) { + break; + } } - $37 = ((($$016$lcssa)) + -2|0); - $38 = $$lcssa ? $37 : 0; - return ($38|0); + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = (_i64Subtract(($13|0),($16|0),($1|0),($2|0))|0); + $18 = tempRet0; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); } -function _fourbyte_strstr($0,$1) { +function _emscripten_atomic_xor_u64($0,$1,$2) { $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; + $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, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0; + var $9 = 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; + $3 = $0; + $4 = $3 >>> 3; + $5 = $4 & 255; + $6 = (34376 + ($5<<2)|0); + while(1) { 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; + $7 = (Atomics_load(HEAP32, $6>>2)|0); + $8 = (Atomics_compareExchange(HEAP32, $6>>2, $7, 1)|0); + $9 = ($7|0)==($8|0); + if ($9) { + break; + } + } + $10 = ($7|0)==(0); + if ($10) { + break; + } + } + $11 = $0; + $12 = $11; + $13 = HEAP32[$12>>2]|0; + $14 = (($11) + 4)|0; + $15 = $14; + $16 = HEAP32[$15>>2]|0; + $17 = $13 ^ $1; + $18 = $16 ^ $2; + $19 = $0; + $20 = $19; + HEAP32[$20>>2] = $17; + $21 = (($19) + 4)|0; + $22 = $21; + HEAP32[$22>>2] = $18; + $23 = (Atomics_store(HEAP32, $6>>2, 0)|0); + tempRet0 = ($18); + return ($17|0); +} +function _emscripten_main_thread_process_queued_calls() { + var $$0910 = 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, $8 = 0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_emscripten_is_main_runtime_thread()|0); + $1 = ($0|0)==(0); + if ($1) { + ___assert_fail((13586|0),(13708|0),424,(13772|0)); + // unreachable; + } + $2 = (_emscripten_is_main_runtime_thread()|0); + $3 = ($2|0)==(0); + $4 = HEAP32[8454]|0; + $5 = ($4|0)!=(0); + $or$cond = $3 | $5; + if ($or$cond) { + return; + } + HEAP32[8454] = 1; + (___pthread_mutex_lock(33820)|0); + $6 = (Atomics_load(HEAP32, 8462)|0); + $7 = (Atomics_load(HEAP32, 8463)|0); + $8 = ($6|0)==($7|0); + (___pthread_mutex_unlock(33820)|0); + if (!($8)) { + $$0910 = $6; + while(1) { + $9 = (33856 + ($$0910<<2)|0); + $10 = HEAP32[$9>>2]|0; + __do_call($10); + (___pthread_mutex_lock(33820)|0); + $11 = (($$0910) + 1)|0; + $12 = (($11|0) % 128)&-1; + $13 = (Atomics_store(HEAP32, 8462, $12)|0); + $14 = (Atomics_load(HEAP32, 8463)|0); + $15 = ($12|0)==($14|0); + (___pthread_mutex_unlock(33820)|0); + if ($15) { break; } else { - $$sink2124 = $40;$39 = $43; + $$0910 = $12; } } } - $46 = ((($$sink21$lcssa)) + -3|0); - $47 = $$lcssa ? $46 : 0; - return ($47|0); + (_emscripten_futex_wake((33848|0),2147483647)|0); + HEAP32[8454] = 0; + return; +} +function _emscripten_sync_run_in_main_thread($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + _emscripten_async_run_in_main_thread($0); + (_emscripten_wait_for_call_v($0,inf)|0); + return; +} +function _emscripten_sync_run_in_main_thread_0($0) { + $0 = $0|0; + var $1 = 0, $2 = 0, $3 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $1 = sp; + dest=$1; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$1>>2] = $0; + $2 = ((($1)) + 80|0); + HEAP32[$2>>2] = 0; + _emscripten_async_run_in_main_thread($1); + (_emscripten_wait_for_call_v($1,inf)|0); + $3 = HEAP32[$2>>2]|0; + STACKTOP = sp;return ($3|0); } -function _twoway_strstr($0,$1) { +function _emscripten_sync_run_in_main_thread_1($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; + var $2 = 0, $3 = 0, $4 = 0, $5 = 0, dest = 0, label = 0, sp = 0, stop = 0; sp = STACKTOP; - STACKTOP = STACKTOP + 1056|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(1056|0); - $2 = sp + 1024|0; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $2 = sp; + dest=$2; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$2>>2] = $0; + $3 = ((($2)) + 16|0); + HEAP32[$3>>2] = $1; + $4 = ((($2)) + 80|0); + HEAP32[$4>>2] = 0; + _emscripten_async_run_in_main_thread($2); + (_emscripten_wait_for_call_v($2,inf)|0); + $5 = HEAP32[$4>>2]|0; + STACKTOP = sp;return ($5|0); +} +function _emscripten_sync_run_in_main_thread_2($0,$1,$2) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + var $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|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; - } - } + dest=$3; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$3>>2] = $0; + $4 = ((($3)) + 16|0); + HEAP32[$4>>2] = $1; + $5 = ((($3)) + 24|0); + HEAP32[$5>>2] = $2; + $6 = ((($3)) + 80|0); + HEAP32[$6>>2] = 0; + _emscripten_async_run_in_main_thread($3); + (_emscripten_wait_for_call_v($3,inf)|0); + $7 = HEAP32[$6>>2]|0; + STACKTOP = sp;return ($7|0); +} +function _emscripten_sync_run_in_main_thread_3($0,$1,$2,$3) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + var $4 = 0, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $4 = sp; + dest=$4; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$4>>2] = $0; + $5 = ((($4)) + 16|0); + HEAP32[$5>>2] = $1; + $6 = ((($4)) + 24|0); + HEAP32[$6>>2] = $2; + $7 = ((($4)) + 32|0); + HEAP32[$7>>2] = $3; + $8 = ((($4)) + 80|0); + HEAP32[$8>>2] = 0; + _emscripten_async_run_in_main_thread($4); + (_emscripten_wait_for_call_v($4,inf)|0); + $9 = HEAP32[$8>>2]|0; + STACKTOP = sp;return ($9|0); +} +function _emscripten_sync_run_in_main_thread_4($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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $5 = sp; + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $6 = ((($5)) + 16|0); + HEAP32[$6>>2] = $1; + $7 = ((($5)) + 24|0); + HEAP32[$7>>2] = $2; + $8 = ((($5)) + 32|0); + HEAP32[$8>>2] = $3; + $9 = ((($5)) + 40|0); + HEAP32[$9>>2] = $4; + $10 = ((($5)) + 80|0); + HEAP32[$10>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $11 = HEAP32[$10>>2]|0; + STACKTOP = sp;return ($11|0); +} +function _emscripten_sync_run_in_main_thread_5($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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $6 = sp; + dest=$6; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$6>>2] = $0; + $7 = ((($6)) + 16|0); + HEAP32[$7>>2] = $1; + $8 = ((($6)) + 24|0); + HEAP32[$8>>2] = $2; + $9 = ((($6)) + 32|0); + HEAP32[$9>>2] = $3; + $10 = ((($6)) + 40|0); + HEAP32[$10>>2] = $4; + $11 = ((($6)) + 48|0); + HEAP32[$11>>2] = $5; + $12 = ((($6)) + 80|0); + HEAP32[$12>>2] = 0; + _emscripten_async_run_in_main_thread($6); + (_emscripten_wait_for_call_v($6,inf)|0); + $13 = HEAP32[$12>>2]|0; + STACKTOP = sp;return ($13|0); +} +function _emscripten_sync_run_in_main_thread_6($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 $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $7 = 0, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $7 = sp; + dest=$7; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$7>>2] = $0; + $8 = ((($7)) + 16|0); + HEAP32[$8>>2] = $1; + $9 = ((($7)) + 24|0); + HEAP32[$9>>2] = $2; + $10 = ((($7)) + 32|0); + HEAP32[$10>>2] = $3; + $11 = ((($7)) + 40|0); + HEAP32[$11>>2] = $4; + $12 = ((($7)) + 48|0); + HEAP32[$12>>2] = $5; + $13 = ((($7)) + 56|0); + HEAP32[$13>>2] = $6; + $14 = ((($7)) + 80|0); + HEAP32[$14>>2] = 0; + _emscripten_async_run_in_main_thread($7); + (_emscripten_wait_for_call_v($7,inf)|0); + $15 = HEAP32[$14>>2]|0; + STACKTOP = sp;return ($15|0); +} +function _emscripten_sync_run_in_main_thread_7($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, $8 = 0, $9 = 0, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 96|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(96|0); + $8 = sp; + dest=$8; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$8>>2] = $0; + $9 = ((($8)) + 16|0); + HEAP32[$9>>2] = $1; + $10 = ((($8)) + 24|0); + HEAP32[$10>>2] = $2; + $11 = ((($8)) + 32|0); + HEAP32[$11>>2] = $3; + $12 = ((($8)) + 40|0); + HEAP32[$12>>2] = $4; + $13 = ((($8)) + 48|0); + HEAP32[$13>>2] = $5; + $14 = ((($8)) + 56|0); + HEAP32[$14>>2] = $6; + $15 = ((($8)) + 64|0); + HEAP32[$15>>2] = $7; + $16 = ((($8)) + 80|0); + HEAP32[$16>>2] = 0; + _emscripten_async_run_in_main_thread($8); + (_emscripten_wait_for_call_v($8,inf)|0); + $17 = HEAP32[$16>>2]|0; + STACKTOP = sp;return ($17|0); +} +function _emscripten_sync_run_in_main_thread_xprintf_varargs($0,$1,$2,$varargs) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $varargs = $varargs|0; + var $$0 = 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, dest = 0, label = 0, sp = 0, stop = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 240|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(240|0); + $3 = sp + 96|0; + $4 = sp + 112|0; + $5 = sp; + HEAP32[$3>>2] = $varargs; + $6 = (_vsnprintf($4,128,$2,$3)|0); + $7 = ($6|0)>(127); + $8 = (($6) + 1)|0; + if ($7) { + $9 = (_malloc($8)|0); + HEAP32[$3>>2] = $varargs; + (_vsnprintf($9,$8,$2,$3)|0); + $$0 = $9; + } else { + $$0 = $4; + } + dest=$5; stop=dest+96|0; do { HEAP32[dest>>2]=0|0; dest=dest+4|0; } while ((dest|0) < (stop|0)); + HEAP32[$5>>2] = $0; + $10 = $1; + $11 = ((($5)) + 16|0); + HEAP32[$11>>2] = $10; + $12 = ((($5)) + 24|0); + HEAP32[$12>>2] = $$0; + $13 = ((($5)) + 80|0); + HEAP32[$13>>2] = 0; + _emscripten_async_run_in_main_thread($5); + (_emscripten_wait_for_call_v($5,inf)|0); + $14 = ($$0|0)==($4|0); + if ($14) { + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); + } + _free($$0); + $15 = HEAP32[$13>>2]|0; + STACKTOP = sp;return ($15|0); +} +function ___pthread_tsd_run_dtors() { + var $$02427 = 0, $$026 = 0, $$125 = 0, $$2 = 0, $0 = 0, $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; + var $8 = 0, $9 = 0, $exitcond = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (_pthread_self()|0); + $1 = ((($0)) + 60|0); + $2 = HEAP32[$1>>2]|0; + $3 = ($2|0)==(0); + if ($3) { + return; + } + $4 = ((($0)) + 116|0); + $$02427 = 0; + while(1) { + $$026 = 0;$$125 = 0; + while(1) { + $5 = HEAP32[$4>>2]|0; + $6 = (($5) + ($$026<<2)|0); + $7 = HEAP32[$6>>2]|0; + $8 = ($7|0)==(0|0); + if ($8) { + $$2 = $$125; + } else { + $9 = (33304 + ($$026<<2)|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = ($10|0)==(0|0); + if ($11) { + $$2 = $$125; } 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; + HEAP32[$6>>2] = 0; + $12 = (Atomics_load(HEAP32,$9>>2)|0); + FUNCTION_TABLE_vi[$12 & 31]($7); + $$2 = 1; } + } + $13 = (($$026) + 1)|0; + $exitcond = ($13|0)==(128); + if ($exitcond) { + break; } else { - $$0175$ph$ph$lcssa220323 = 1;$$0185$ph$lcssa322 = -1;$$0187$lcssa320321 = $7;$$1176$ph$ph$lcssa211 = 1;$$1186$ph$lcssa = -1; - label = 27; + $$026 = $13;$$125 = $$2; } } - } 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; + $14 = (($$02427) + 1)|0; + $15 = ($$2|0)!=(0); + $16 = ($14|0)<(4); + $17 = $16 & $15; + if ($17) { + $$02427 = $14; + } else { + break; + } + } + return; +} +function _emscripten_wait_for_call_v($0,$1) { + $0 = $0|0; + $1 = +$1; + var $$ = 0, $$01921 = 0.0, $$020$lcssa = 0, $$1 = 0, $10 = 0.0, $11 = 0, $12 = 0, $13 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0.0, $6 = 0.0, $7 = 0, $8 = 0.0, $9 = 0, $or$cond = 0, label = 0, sp = 0; + sp = STACKTOP; + $2 = ((($0)) + 8|0); + $3 = (Atomics_load(HEAP32, $2>>2)|0); + $4 = ($3|0)==(0); + if (!($4)) { + $$1 = $3; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); + } + $5 = (+_emscripten_get_now()); + $6 = $5 + $1; + _emscripten_set_current_thread_status(5); + $7 = $5 < $6; + if ($7) { + $$01921 = $5; + while(1) { + $8 = $6 - $$01921; + (_emscripten_futex_wait(($2|0),0,(+$8))|0); + $9 = (Atomics_load(HEAP32, $2>>2)|0); + $10 = (+_emscripten_get_now()); + $11 = ($9|0)==(0); + $12 = $10 < $6; + $or$cond = $11 & $12; + if ($or$cond) { + $$01921 = $10; } 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; + $$020$lcssa = $9; + break; } } + } else { + $$020$lcssa = 0; + } + _emscripten_set_current_thread_status(1); + $$1 = $$020$lcssa; + $13 = ($$1|0)==(0); + $$ = $13 ? -8 : 0; + return ($$|0); +} +function __do_call($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, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0; + var $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, $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, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + do { + switch ($1|0) { + case 12: { + $2 = ((($0)) + 16|0); + $3 = HEAP32[$2>>2]|0; + $4 = ((($0)) + 24|0); + $5 = HEAP32[$4>>2]|0; + $6 = (_utime(($3|0),($5|0))|0); + $7 = ((($0)) + 80|0); + HEAP32[$7>>2] = $6; + break; + } + case 13: { + $8 = ((($0)) + 16|0); + $9 = HEAP32[$8>>2]|0; + $10 = ((($0)) + 24|0); + $11 = HEAP32[$10>>2]|0; + $12 = (_utimes(($9|0),($11|0))|0); + $13 = ((($0)) + 80|0); + HEAP32[$13>>2] = $12; + break; + } + case 37: { + $14 = ((($0)) + 16|0); + $15 = HEAP32[$14>>2]|0; + $16 = (_chroot(($15|0))|0); + $17 = ((($0)) + 80|0); + HEAP32[$17>>2] = $16; + break; + } + case 46: { + $18 = ((($0)) + 16|0); + $19 = HEAP32[$18>>2]|0; + $20 = ((($0)) + 24|0); + $21 = HEAP32[$20>>2]|0; + $22 = (_fpathconf(($19|0),($21|0))|0); + $23 = ((($0)) + 80|0); + HEAP32[$23>>2] = $22; + break; + } + case 68: { + $24 = ((($0)) + 16|0); + $25 = HEAP32[$24>>2]|0; + $26 = ((($0)) + 24|0); + $27 = HEAP32[$26>>2]|0; + $28 = ((($0)) + 32|0); + $29 = HEAP32[$28>>2]|0; + $30 = (_confstr(($25|0),($27|0),($29|0))|0); + $31 = ((($0)) + 80|0); + HEAP32[$31>>2] = $30; + break; + } + case 72: { + $32 = ((($0)) + 16|0); + $33 = HEAP32[$32>>2]|0; + $34 = (_sysconf(($33|0))|0); + $35 = ((($0)) + 80|0); + HEAP32[$35>>2] = $34; + break; + } + case 110: { + $36 = ((($0)) + 16|0); + $37 = HEAP32[$36>>2]|0; + $38 = (_atexit(($37|0))|0); + $39 = ((($0)) + 80|0); + HEAP32[$39>>2] = $38; + break; + } + case 111: { + $40 = ((($0)) + 16|0); + $41 = HEAP32[$40>>2]|0; + $42 = (_getenv(($41|0))|0); + $43 = ((($0)) + 80|0); + HEAP32[$43>>2] = $42; + break; + } + case 112: { + $44 = (_clearenv()|0); + $45 = ((($0)) + 80|0); + HEAP32[$45>>2] = $44; + break; + } + case 113: { + $46 = ((($0)) + 16|0); + $47 = HEAP32[$46>>2]|0; + $48 = ((($0)) + 24|0); + $49 = HEAP32[$48>>2]|0; + $50 = ((($0)) + 32|0); + $51 = HEAP32[$50>>2]|0; + $52 = (_setenv(($47|0),($49|0),($51|0))|0); + $53 = ((($0)) + 80|0); + HEAP32[$53>>2] = $52; + break; + } + case 114: { + $54 = ((($0)) + 16|0); + $55 = HEAP32[$54>>2]|0; + $56 = (_unsetenv(($55|0))|0); + $57 = ((($0)) + 80|0); + HEAP32[$57>>2] = $56; + break; + } + case 115: { + $58 = ((($0)) + 16|0); + $59 = HEAP32[$58>>2]|0; + $60 = (_putenv(($59|0))|0); + $61 = ((($0)) + 80|0); + HEAP32[$61>>2] = $60; + break; + } + case 119: { + _tzset(); + break; + } + case 137: { + $62 = ((($0)) + 16|0); + $63 = HEAP32[$62>>2]|0; + $64 = ((($0)) + 24|0); + $65 = HEAP32[$64>>2]|0; + $66 = ((($0)) + 32|0); + $67 = HEAP32[$66>>2]|0; + $68 = ((($0)) + 40|0); + $69 = HEAP32[$68>>2]|0; + $70 = (_pthread_create(($63|0),($65|0),($67|0),($69|0))|0); + $71 = ((($0)) + 80|0); + HEAP32[$71>>2] = $70; + break; + } + case 138: { + $72 = ((($0)) + 16|0); + $73 = HEAP32[$72>>2]|0; + $74 = ((($0)) + 24|0); + $75 = HEAP32[$74>>2]|0; + $76 = (_emscripten_syscall(($73|0),($75|0))|0); + $77 = ((($0)) + 80|0); + HEAP32[$77>>2] = $76; + break; + } + case 1024: { + $78 = ((($0)) + 4|0); + $79 = HEAP32[$78>>2]|0; + FUNCTION_TABLE_v[$79 & 7](); + break; + } + case 1025: { + $80 = ((($0)) + 4|0); + $81 = HEAP32[$80>>2]|0; + $82 = ((($0)) + 16|0); + $83 = HEAP32[$82>>2]|0; + FUNCTION_TABLE_vi[$81 & 31]($83); + break; + } + case 1026: { + $84 = ((($0)) + 4|0); + $85 = HEAP32[$84>>2]|0; + $86 = ((($0)) + 16|0); + $87 = HEAP32[$86>>2]|0; + $88 = ((($0)) + 24|0); + $89 = HEAP32[$88>>2]|0; + FUNCTION_TABLE_vii[$85 & 63]($87,$89); + break; + } + case 1027: { + $90 = ((($0)) + 4|0); + $91 = HEAP32[$90>>2]|0; + $92 = ((($0)) + 16|0); + $93 = HEAP32[$92>>2]|0; + $94 = ((($0)) + 24|0); + $95 = HEAP32[$94>>2]|0; + $96 = ((($0)) + 32|0); + $97 = HEAP32[$96>>2]|0; + FUNCTION_TABLE_viii[$91 & 31]($93,$95,$97); + break; + } + case 2048: { + $98 = ((($0)) + 4|0); + $99 = HEAP32[$98>>2]|0; + $100 = (FUNCTION_TABLE_i[$99 & 3]()|0); + $101 = ((($0)) + 80|0); + HEAP32[$101>>2] = $100; + break; + } + case 2049: { + $102 = ((($0)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ((($0)) + 16|0); + $105 = HEAP32[$104>>2]|0; + $106 = (FUNCTION_TABLE_ii[$103 & 15]($105)|0); + $107 = ((($0)) + 80|0); + HEAP32[$107>>2] = $106; + break; + } + case 2050: { + $108 = ((($0)) + 4|0); + $109 = HEAP32[$108>>2]|0; + $110 = ((($0)) + 16|0); + $111 = HEAP32[$110>>2]|0; + $112 = ((($0)) + 24|0); + $113 = HEAP32[$112>>2]|0; + $114 = (FUNCTION_TABLE_iii[$109 & 3]($111,$113)|0); + $115 = ((($0)) + 80|0); + HEAP32[$115>>2] = $114; + break; + } + case 2051: { + $116 = ((($0)) + 4|0); + $117 = HEAP32[$116>>2]|0; + $118 = ((($0)) + 16|0); + $119 = HEAP32[$118>>2]|0; + $120 = ((($0)) + 24|0); + $121 = HEAP32[$120>>2]|0; + $122 = ((($0)) + 32|0); + $123 = HEAP32[$122>>2]|0; + $124 = (FUNCTION_TABLE_iiii[$117 & 15]($119,$121,$123)|0); + $125 = ((($0)) + 80|0); + HEAP32[$125>>2] = $124; + break; + } + default: { + ___assert_fail((13816|0),(13708|0),211,(13867|0)); + // unreachable; + } + } } while(0); - STACKTOP = sp;return ($$3|0); + $126 = ((($0)) + 88|0); + $127 = HEAP32[$126>>2]|0; + $128 = ($127|0)==(0); + if ($128) { + $129 = ((($0)) + 8|0); + HEAP32[$129>>2] = 1; + (_emscripten_futex_wake(($129|0),2147483647)|0); + return; + } else { + _free($0); + return; + } } -function _strspn($0,$1) { +function ___pthread_mutex_unlock($0) { + $0 = $0|0; + var $$0 = 0, $$045 = 0, $$pre = 0, $$pre$phiZ2D = 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, $5 = 0, $6 = 0; + var $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = ((($0)) + 8|0); + $2 = (Atomics_load(HEAP32,$1>>2)|0); + $3 = HEAP32[$0>>2]|0; + $4 = $3 & 15; + $5 = $3 & 128; + $6 = $5 ^ 128; + $7 = ($4|0)==(0); + if ($7) { + $$pre = ((($0)) + 4|0); + $$045 = 0;$$pre$phiZ2D = $$pre; + } else { + $8 = (_pthread_self()|0); + $9 = ((($0)) + 4|0); + $10 = (Atomics_load(HEAP32,$9>>2)|0); + $11 = $10 & 2147483647; + $12 = ((($8)) + 52|0); + $13 = HEAP32[$12>>2]|0; + $14 = ($11|0)==($13|0); + if (!($14)) { + $$0 = 1; + return ($$0|0); + } + $15 = $3 & 3; + $16 = ($15|0)==(1); + if ($16) { + $17 = ((($0)) + 20|0); + $18 = HEAP32[$17>>2]|0; + $19 = ($18|0)==(0); + if (!($19)) { + $20 = (($18) + -1)|0; + HEAP32[$17>>2] = $20; + $$0 = 0; + return ($$0|0); + } + } + $21 = ($6|0)==(0); + $22 = ((($0)) + 16|0); + if ($21) { + $23 = ((($8)) + 176|0); + Atomics_store(HEAP32,$23>>2,$22)|0; + ___vm_lock(); + } + $24 = ((($0)) + 12|0); + $25 = HEAP32[$24>>2]|0; + $26 = HEAP32[$22>>2]|0; + Atomics_store(HEAP32,$25>>2,$26)|0; + $27 = ((($8)) + 168|0); + $28 = ($26|0)==($27|0); + if ($28) { + $$045 = $8;$$pre$phiZ2D = $9; + } else { + $29 = ((($26)) + -4|0); + Atomics_store(HEAP32,$29>>2,$25)|0; + $$045 = $8;$$pre$phiZ2D = $9; + } + } + $30 = $3 & 8; + $31 = ($30|0)!=(0); + $32 = $31 ? 2147483647 : 0; + while(1) { + $33 = (Atomics_load(HEAP32, $$pre$phiZ2D>>2)|0); + $34 = (Atomics_compareExchange(HEAP32, $$pre$phiZ2D>>2, $33, $32)|0); + $35 = ($34|0)==($33|0); + if ($35) { + break; + } + } + $36 = ($6|0)!=(0); + $or$cond = $7 | $36; + if (!($or$cond)) { + $37 = ((($$045)) + 176|0); + Atomics_store(HEAP32,$37>>2,0)|0; + ___vm_unlock(); + } + $38 = ($2|0)!=(0); + $39 = ($33|0)<(0); + $or$cond3 = $38 | $39; + if (!($or$cond3)) { + $$0 = 0; + return ($$0|0); + } + (_emscripten_futex_wake(($$pre$phiZ2D|0),1)|0); + $$0 = 0; + return ($$0|0); +} +function ___vm_lock() { + var $0 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8592, 1)|0); + return; +} +function ___vm_unlock() { + var $0 = 0, $1 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; + sp = STACKTOP; + $0 = (Atomics_add(HEAP32, 8592, -1)|0); + $1 = ($0|0)==(1); + if (!($1)) { + return; + } + $2 = (Atomics_load(HEAP32,(34372)>>2)|0); + $3 = ($2|0)==(0); + if ($3) { + return; + } + (_emscripten_futex_wake((34368|0),2147483647)|0); + return; +} +function ___pthread_mutex_lock($0) { + $0 = $0|0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; + sp = STACKTOP; + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = ($5|0)==(0); + if ($6) { + $$0 = 0; + return ($$0|0); + } + } + $7 = (___pthread_mutex_timedlock($0,0)|0); + $$0 = $7; + return ($$0|0); +} +function ___pthread_mutex_timedlock($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; + var $$0 = 0, $$2 = 0, $$pre = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $2 = 0, $20 = 0, $21 = 0, $22 = 0, $23 = 0, $24 = 0, $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 $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond40 = 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); + $2 = HEAP32[$0>>2]|0; + $3 = $2 & 15; + $4 = ($3|0)==(0); do { if ($4) { - $$0 = 0; - } else { - $5 = ((($1)) + 1|0); - $6 = HEAP8[$5>>0]|0; - $7 = ($6<<24>>24)==(0); + $5 = ((($0)) + 4|0); + $6 = (Atomics_compareExchange(HEAP32, $5>>2, 0, 16)|0); + $7 = ($6|0)==(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 { + $$2 = 0; + return ($$2|0); + } else { + $$pre = HEAP32[$0>>2]|0; + $9 = $$pre; + break; + } + } else { + $9 = $2; + } + } while(0); + $8 = $9 & 128; + $10 = $8 ^ 128; + $11 = (___pthread_mutex_trylock($0)|0); + $12 = ($11|0)==(16); + if (!($12)) { + $$2 = $11; + return ($$2|0); + } + $13 = ((($0)) + 4|0); + $14 = ((($0)) + 8|0); + $$0 = 100; + while(1) { + $15 = (($$0) + -1)|0; + $16 = ($$0|0)==(0); + if ($16) { + break; + } + $17 = (Atomics_load(HEAP32,$13>>2)|0); + $18 = ($17|0)==(0); + if ($18) { + break; + } + $19 = (Atomics_load(HEAP32,$14>>2)|0); + $20 = ($19|0)==(0); + if ($20) { + $$0 = $15; + } else { + break; + } + } + $21 = (___pthread_mutex_trylock($0)|0); + $22 = ($21|0)==(16); + if (!($22)) { + $$2 = $21; + return ($$2|0); + } + L18: while(1) { + $23 = (Atomics_load(HEAP32,$13>>2)|0); + $24 = ($23|0)==(0); + if (!($24)) { + $27 = $23 & 1073741824; + $28 = ($27|0)==(0); + $29 = HEAP32[$0>>2]|0; + $30 = $29 & 4; + $31 = ($30|0)==(0); + $or$cond40 = $28 | $31; + if ($or$cond40) { + $32 = $29 & 3; + $33 = ($32|0)==(2); + if ($33) { + $34 = $23 & 2147483647; + $35 = (_pthread_self()|0); + $36 = ((($35)) + 52|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($34|0)==($37|0); + if ($38) { + $$2 = 35; + label = 17; 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) { + $39 = (Atomics_add(HEAP32, $14>>2, 1)|0); + $40 = $23 | -2147483648; + $41 = (Atomics_compareExchange(HEAP32, $13>>2, $23, $40)|0); + $42 = (___timedwait($13,$40,0,$1,$10)|0); + $43 = (Atomics_sub(HEAP32, $14>>2, 1)|0); + switch ($42|0) { + case 0: case 4: { break; - } else { - $$01925 = $24;$17 = $25; + } + default: { + $$2 = $42; + label = 17; + break L18; + } } } - $14 = HEAP8[$0>>0]|0; - $15 = ($14<<24>>24)==(0); - L10: do { - if ($15) { - $$1$lcssa = $0; + } + $25 = (___pthread_mutex_trylock($0)|0); + $26 = ($25|0)==(16); + if (!($26)) { + $$2 = $25; + label = 17; + break; + } + } + if ((label|0) == 17) { + return ($$2|0); + } + return (0)|0; +} +function ___timedwait($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, label = 0, sp = 0; + sp = STACKTOP; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $5 = sp; + (___pthread_setcancelstate(1,($5|0))|0); + _emscripten_conditional_set_current_thread_status(1,4); + $6 = (___timedwait_cp($0,$1,$2,$3,$4)|0); + _emscripten_conditional_set_current_thread_status(4,1); + $7 = HEAP32[$5>>2]|0; + (___pthread_setcancelstate(($7|0),(0|0))|0); + STACKTOP = sp;return ($6|0); +} +function ___timedwait_cp($0,$1,$2,$3,$4) { + $0 = $0|0; + $1 = $1|0; + $2 = $2|0; + $3 = $3|0; + $4 = $4|0; + var $$$0$us = 0.0, $$$045 = 0.0, $$$046$us = 0.0, $$0$us = 0.0, $$0$us53 = 0.0, $$138 = 0, $$138$ph = 0, $$138$ph70 = 0, $$138$ph72 = 0, $10 = 0, $11 = 0, $12 = 0, $13 = 0, $14 = 0, $15 = 0, $16 = 0, $17 = 0, $18 = 0, $19 = 0, $20 = 0; + var $21 = 0, $22 = 0, $23 = 0, $24 = 0, $25 = 0, $26 = 0, $27 = 0, $28 = 0, $29 = 0.0, $30 = 0, $31 = 0, $32 = 0, $33 = 0, $34 = 0, $35 = 0, $36 = 0, $37 = 0, $38 = 0.0, $39 = 0, $40 = 0; + var $41 = 0, $42 = 0, $43 = 0, $44 = 0, $45 = 0, $46 = 0, $47 = 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); + $5 = sp; + $6 = ($3|0)!=(0|0); + if ($6) { + $7 = ((($3)) + 4|0); + $8 = HEAP32[$7>>2]|0; + $9 = ($8>>>0)>(999999999); + if ($9) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $10 = (___clock_gettime(($2|0),($5|0))|0); + $11 = ($10|0)==(0); + if (!($11)) { + $$138 = 22; + STACKTOP = sp;return ($$138|0); + } + $12 = HEAP32[$3>>2]|0; + $13 = HEAP32[$5>>2]|0; + $14 = (($12) - ($13))|0; + HEAP32[$5>>2] = $14; + $15 = HEAP32[$7>>2]|0; + $16 = ((($5)) + 4|0); + $17 = HEAP32[$16>>2]|0; + $18 = (($15) - ($17))|0; + HEAP32[$16>>2] = $18; + $19 = ($18|0)<(0); + if ($19) { + $20 = (($14) + -1)|0; + HEAP32[$5>>2] = $20; + $21 = (($18) + 1000000000)|0; + HEAP32[$16>>2] = $21; + $23 = $20; + } else { + $23 = $14; + } + $22 = ($23|0)<(0); + if ($22) { + $$138 = 110; + STACKTOP = sp;return ($$138|0); + } + } + $24 = (_emscripten_is_main_runtime_thread()|0); + $25 = ($24|0)!=(0); + $$$045 = $25 ? 1.0 : 100.0; + if ($25) { + L15: while(1) { + $26 = (_pthread_self()|0); + $27 = (__pthread_isduecanceled($26)|0); + $28 = ($27|0)==(0); + if (!($28)) { + $$138$ph = 125; + break; + } + _emscripten_main_thread_process_queued_calls(); + if ($6) { + $29 = (+__pthread_msecs_until($3)); + $30 = !($29 <= 0.0); + $31 = $29 > 100.0; + $$0$us = $31 ? 100.0 : $29; + $32 = $$0$us > 1.0; + $$$0$us = $32 ? 1.0 : $$0$us; + if ($30) { + $$$046$us = $$$0$us; } 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; - } - } + $$138$ph = 110; + break; } - } while(0); - $39 = $$1$lcssa; - $40 = $0; - $41 = (($39) - ($40))|0; - $$0 = $41; + } else { + $$$046$us = $$$045; + } + $33 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$046$us))|0); + $34 = (0 - ($33))|0; + switch ($34|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph = $34; + break L15; + break; + } + default: { + $$138 = 0; + label = 21; + break L15; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph; + STACKTOP = sp;return ($$138|0); + } + if (!($6)) { + L27: while(1) { + $43 = (_pthread_self()|0); + $44 = (__pthread_isduecanceled($43)|0); + $45 = ($44|0)==(0); + if (!($45)) { + $$138$ph72 = 125; + break; + } + $46 = (_emscripten_futex_wait(($0|0),($1|0),(+$$$045))|0); + $47 = (0 - ($46))|0; + switch ($47|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph72 = $47; + break L27; + break; + } + default: { + $$138 = 0; + label = 21; + break L27; + } + } } - } while(0); - STACKTOP = sp;return ($$0|0); + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph72; + STACKTOP = sp;return ($$138|0); + } + L34: while(1) { + $35 = (_pthread_self()|0); + $36 = (__pthread_isduecanceled($35)|0); + $37 = ($36|0)==(0); + if (!($37)) { + $$138$ph70 = 125; + break; + } + $38 = (+__pthread_msecs_until($3)); + $39 = !($38 <= 0.0); + if (!($39)) { + $$138$ph70 = 110; + break; + } + $40 = $38 > 100.0; + $$0$us53 = $40 ? 100.0 : $38; + $41 = (_emscripten_futex_wait(($0|0),($1|0),(+$$0$us53))|0); + $42 = (0 - ($41))|0; + switch ($42|0) { + case 110: { + break; + } + case 4: case 125: { + $$138$ph70 = $42; + break L34; + break; + } + default: { + $$138 = 0; + label = 21; + break L34; + } + } + } + if ((label|0) == 21) { + STACKTOP = sp;return ($$138|0); + } + $$138 = $$138$ph70; + STACKTOP = sp;return ($$138|0); } -function _srand($0) { +function __pthread_isduecanceled($0) { $0 = $0|0; - var $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, label = 0, sp = 0; + var $1 = 0, $2 = 0, $3 = 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; + $1 = HEAP32[$0>>2]|0; + $2 = ($1|0)==(2); + $3 = $2&1; + return ($3|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; +function __pthread_msecs_until($0) { + $0 = $0|0; + var $1 = 0, $10 = 0, $11 = 0.0, $12 = 0.0, $13 = 0, $14 = 0, $15 = 0.0, $16 = 0.0, $17 = 0.0, $18 = 0.0, $2 = 0, $3 = 0.0, $4 = 0.0, $5 = 0, $6 = 0, $7 = 0.0, $8 = 0.0, $9 = 0.0, label = 0, sp = 0; sp = STACKTOP; - $0 = 13992; - $1 = $0; + STACKTOP = STACKTOP + 16|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(16|0); + $1 = sp; + (_gettimeofday(($1|0),(0|0))|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); + $3 = (+($2|0)); + $4 = $3 * 1000.0; + $5 = ((($1)) + 4|0); + $6 = HEAP32[$5>>2]|0; + $7 = (+($6|0)); + $8 = $7 * 0.001; + $9 = $4 + $8; + $10 = HEAP32[$0>>2]|0; + $11 = (+($10|0)); + $12 = $11 * 1000.0; + $13 = ((($0)) + 4|0); + $14 = HEAP32[$13>>2]|0; + $15 = (+($14|0)); + $16 = $15 * 9.9999999999999995E-7; + $17 = $12 + $16; + $18 = $17 - $9; + STACKTOP = sp;return (+$18); } -function _vprintf($0,$1) { +function ___pthread_mutex_trylock($0) { $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; + var $$0 = 0, $1 = 0, $2 = 0, $3 = 0, $4 = 0, $5 = 0, $6 = 0, $7 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = HEAP32[805]|0; - $3 = (_vfprintf($2,$0,$1)|0); - return ($3|0); + $1 = HEAP32[$0>>2]|0; + $2 = $1 & 15; + $3 = ($2|0)==(0); + if ($3) { + $4 = ((($0)) + 4|0); + $5 = (Atomics_compareExchange(HEAP32, $4>>2, 0, 16)|0); + $6 = $5 & 16; + $$0 = $6; + return ($$0|0); + } else { + $7 = (___pthread_mutex_trylock_owner($0)|0); + $$0 = $7; + return ($$0|0); + } + return (0)|0; } -function _strcspn($0,$1) { +function ___pthread_mutex_trylock_owner($0) { $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; + var $$ = 0, $$1 = 0, $$154 = 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, $5 = 0, $6 = 0, $7 = 0, $8 = 0, $9 = 0, $or$cond = 0, $or$cond57 = 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; - } - } - } + $1 = HEAP32[$0>>2]|0; + $2 = (_pthread_self()|0); + $3 = ((($2)) + 52|0); + $4 = HEAP32[$3>>2]|0; + $5 = ((($0)) + 4|0); + $6 = (Atomics_load(HEAP32,$5>>2)|0); + $7 = $6 & 2147483647; + $8 = ($7|0)==($4|0); + $9 = $1 & 3; + $10 = ($9|0)==(1); + $or$cond = $10 & $8; + if ($or$cond) { + $11 = ((($0)) + 20|0); + $12 = HEAP32[$11>>2]|0; + $13 = ($12>>>0)>(2147483646); + if ($13) { + $$1 = 11; + return ($$1|0); + } + $14 = (($12) + 1)|0; + HEAP32[$11>>2] = $14; + $$1 = 0; + return ($$1|0); + } + $15 = ($7|0)==(2147483647); + if ($15) { + $$1 = 131; + return ($$1|0); + } + $16 = HEAP32[$0>>2]|0; + $17 = $16 & 128; + $18 = ($17|0)==(0); + if ($18) { + $$154 = $4; + } else { + $19 = ((($2)) + 172|0); + $20 = HEAP32[$19>>2]|0; + $21 = ($20|0)==(0); + if ($21) { + HEAP32[$19>>2] = -12; + } + $22 = ((($0)) + 8|0); + $23 = (Atomics_load(HEAP32,$22>>2)|0); + $24 = ($23|0)==(0); + $25 = $4 | -2147483648; + $$ = $24 ? $4 : $25; + $26 = ((($0)) + 16|0); + $27 = ((($2)) + 176|0); + Atomics_store(HEAP32,$27>>2,$26)|0; + $$154 = $$; + } + $28 = ($7|0)!=(0); + if ($28) { + $29 = $6 & 1073741824; + $30 = ($29|0)==(0); + $31 = $1 & 4; + $32 = ($31|0)==(0); + $or$cond57 = $32 | $30; + if (!($or$cond57)) { + label = 11; + } + } else { + label = 11; + } + if ((label|0) == 11) { + $33 = (Atomics_compareExchange(HEAP32, $5>>2, $6, $$154)|0); + $34 = ($33|0)==($6|0); + if ($34) { + $36 = ((($2)) + 168|0); + $37 = (Atomics_load(HEAP32,$36>>2)|0); + $38 = ((($0)) + 16|0); + HEAP32[$38>>2] = $37; + $39 = ((($0)) + 12|0); + HEAP32[$39>>2] = $36; + $40 = ($37|0)==($36|0); + if (!($40)) { + $41 = ((($37)) + -4|0); + Atomics_store(HEAP32,$41>>2,$38)|0; + } + Atomics_store(HEAP32,$36>>2,$38)|0; + $42 = ((($2)) + 176|0); + Atomics_store(HEAP32,$42>>2,0)|0; + if (!($28)) { + $$1 = 0; + return ($$1|0); } + $43 = ((($0)) + 20|0); + HEAP32[$43>>2] = 0; + $44 = HEAP32[$0>>2]|0; + $45 = $44 | 8; + HEAP32[$0>>2] = $45; + $$1 = 130; + return ($$1|0); } - } 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); + $35 = ((($2)) + 176|0); + Atomics_store(HEAP32,$35>>2,0)|0; + $$1 = 16; + return ($$1|0); } -function _strcat($0,$1) { +function _pthread_mutexattr_destroy($0) { $0 = $0|0; - $1 = $1|0; - var $2 = 0, $3 = 0, label = 0, sp = 0; + var label = 0, sp = 0; sp = STACKTOP; - $2 = (_strlen($0)|0); - $3 = (($0) + ($2)|0); - (_strcpy($3,$1)|0); - return ($0|0); + return 0; } -function _strtok($0,$1) { +function _pthread_mutexattr_init($0) { + $0 = $0|0; + var label = 0, sp = 0; + sp = STACKTOP; + HEAP32[$0>>2] = 0; + return 0; +} +function _pthread_mutex_init($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; + var $$sroa$0 = 0, $2 = 0, $3 = 0, label = 0, sp = 0; sp = STACKTOP; - $2 = ($0|0)==(0|0); + STACKTOP = STACKTOP + 32|0; if ((STACKTOP|0) >= (STACK_MAX|0)) abortStackOverflow(32|0); + $$sroa$0 = sp; + ;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[$$sroa$0+20>>2]=0|0;HEAP32[$$sroa$0+24>>2]=0|0; + ;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;HEAP32[$0+20>>2]=HEAP32[$$sroa$0+20>>2]|0;HEAP32[$0+24>>2]=HEAP32[$$sroa$0+24>>2]|0; + $2 = ($1|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; + STACKTOP = sp;return 0; } - 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); + $3 = HEAP32[$1>>2]|0; + HEAP32[$0>>2] = $3; + STACKTOP = sp;return 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; + var $$$0192$i = 0, $$$0193$i = 0, $$$4230$i = 0, $$$4236$i = 0, $$$4351$i = 0, $$$i = 0, $$0$i$i = 0, $$0$i$i$i = 0, $$0$i17$i = 0, $$01$i$i = 0, $$0189$i = 0, $$0192$lcssa$i = 0, $$01928$i = 0, $$0193$lcssa$i = 0, $$01937$i = 0, $$0198 = 0, $$0200 = 0, $$0206$i$i = 0, $$0207$i$i = 0, $$0211$i$i = 0; + var $$0212$i$i = 0, $$024363$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, $$1 = 0, $$1196$i = 0; + var $$1198$i = 0, $$124462$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, $$2 = 0, $$2234253237$i = 0, $$2247$ph$i = 0, $$2253$ph$i = 0, $$2355$i = 0, $$3$i = 0, $$3$i$i = 0, $$3$i202 = 0, $$3229$i = 0, $$3235$i = 0, $$3350$i = 0; + var $$3372$i = 0, $$4$lcssa$i = 0, $$4$ph$i = 0, $$415$i = 0, $$4230$i = 0, $$4236$i = 0, $$4351$lcssa$i = 0, $$435114$i = 0, $$4357$$4$i = 0, $$4357$ph$i = 0, $$435713$i = 0, $$7$i = 0, $$7239$i = 0, $$pre = 0, $$pre$i = 0, $$pre$i$i = 0, $$pre$i18$i = 0, $$pre$i211 = 0, $$pre$phi$i$iZ2D = 0, $$pre$phi$i19$iZ2D = 0; + var $$pre$phi$i212Z2D = 0, $$pre$phi$iZ2D = 0, $$pre$phi11$i$iZ2D = 0, $$pre$phiZ2D = 0, $$pre10$i$i = 0, $$sink1$i = 0, $$sink1$i$i = 0, $$sink16$i = 0, $$sink2$i = 0, $$sink2$i205 = 0, $$sink3$i = 0, $1 = 0, $10 = 0, $100 = 0, $1000 = 0, $1001 = 0, $1002 = 0, $1003 = 0, $1004 = 0, $1005 = 0; + var $1006 = 0, $1007 = 0, $1008 = 0, $1009 = 0, $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; + var $1024 = 0, $1025 = 0, $1026 = 0, $1027 = 0, $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; + var $1042 = 0, $1043 = 0, $1044 = 0, $1045 = 0, $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, $1059 = 0, $106 = 0; + var $1060 = 0, $1061 = 0, $1062 = 0, $1063 = 0, $1064 = 0, $1065 = 0, $1066 = 0, $1067 = 0, $1068 = 0, $1069 = 0, $107 = 0, $1070 = 0, $1071 = 0, $1072 = 0, $1073 = 0, $1074 = 0, $1075 = 0, $1076 = 0, $1077 = 0, $1078 = 0; + var $1079 = 0, $108 = 0, $1080 = 0, $1081 = 0, $1082 = 0, $1083 = 0, $1084 = 0, $1085 = 0, $1086 = 0, $1087 = 0, $1088 = 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, $554 = 0, $555 = 0, $556 = 0, $557 = 0, $558 = 0, $559 = 0, $56 = 0, $560 = 0, $561 = 0, $562 = 0, $563 = 0, $564 = 0, $565 = 0, $566 = 0, $567 = 0; + var $568 = 0, $569 = 0, $57 = 0, $570 = 0, $571 = 0, $572 = 0, $573 = 0, $574 = 0, $575 = 0, $576 = 0, $577 = 0, $578 = 0, $579 = 0, $58 = 0, $580 = 0, $581 = 0, $582 = 0, $583 = 0, $584 = 0, $585 = 0; + var $586 = 0, $587 = 0, $588 = 0, $589 = 0, $59 = 0, $590 = 0, $591 = 0, $592 = 0, $593 = 0, $594 = 0, $595 = 0, $596 = 0, $597 = 0, $598 = 0, $599 = 0, $6 = 0, $60 = 0, $600 = 0, $601 = 0, $602 = 0; + var $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, $618 = 0, $619 = 0, $62 = 0, $620 = 0; + var $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, $636 = 0, $637 = 0, $638 = 0, $639 = 0; + var $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, $654 = 0, $655 = 0, $656 = 0, $657 = 0; + var $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, $672 = 0, $673 = 0, $674 = 0, $675 = 0; + var $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, $690 = 0, $691 = 0, $692 = 0, $693 = 0; + var $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, $708 = 0, $709 = 0, $71 = 0, $710 = 0; + var $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, $726 = 0, $727 = 0, $728 = 0, $729 = 0; + var $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, $744 = 0, $745 = 0, $746 = 0, $747 = 0; + var $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, $762 = 0, $763 = 0, $764 = 0, $765 = 0; + var $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, $780 = 0, $781 = 0, $782 = 0, $783 = 0; + var $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, $799 = 0, $8 = 0, $80 = 0, $800 = 0; + var $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, $816 = 0, $817 = 0, $818 = 0, $819 = 0; + var $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, $834 = 0, $835 = 0, $836 = 0, $837 = 0; + var $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, $852 = 0, $853 = 0, $854 = 0, $855 = 0; + var $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, $870 = 0, $871 = 0, $872 = 0, $873 = 0; + var $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, $889 = 0, $89 = 0, $890 = 0, $891 = 0; + var $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, $906 = 0, $907 = 0, $908 = 0, $909 = 0; + var $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, $924 = 0, $925 = 0, $926 = 0, $927 = 0; + var $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, $942 = 0, $943 = 0, $944 = 0, $945 = 0; + var $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, $960 = 0, $961 = 0, $962 = 0, $963 = 0; + var $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, $977 = 0, $978 = 0, $979 = 0, $98 = 0, $980 = 0, $981 = 0; + var $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, $995 = 0, $996 = 0, $997 = 0, $998 = 0, $999 = 0, $cond$i = 0; + var $cond$i$i = 0, $cond$i209 = 0, $exitcond$i$i = 0, $not$$i = 0, $not$$i$i = 0, $not$$i21$i = 0, $not$$i210 = 0, $not$1$i = 0, $not$1$i204 = 0, $not$5$i = 0, $not$7$i$i = 0, $not$8$i = 0, $not$9$i = 0, $or$cond$i = 0, $or$cond$i213 = 0, $or$cond1$i = 0, $or$cond10$i = 0, $or$cond11$i = 0, $or$cond12$i = 0, $or$cond2$i = 0; + var $or$cond2$i214 = 0, $or$cond43$i = 0, $or$cond5$i = 0, $or$cond7$i = 0, $or$cond9$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); + $1 = sp + 4|0; + $2 = sp; + $3 = HEAP32[8850]|0; + $4 = ($3|0)==(0); + if ($4) { + (___pthread_mutex_lock(35424)|0); + $5 = HEAP32[8850]|0; + $6 = ($5|0)==(0); + if ($6) { + HEAP32[(35408)>>2] = 4096; + HEAP32[(35404)>>2] = 4096; + HEAP32[(35412)>>2] = -1; + HEAP32[(35416)>>2] = -1; + HEAP32[(35420)>>2] = 2; + HEAP32[(35896)>>2] = 2; + $7 = (_pthread_mutexattr_init($1)|0); + $8 = ($7|0)==(0); + if ($8) { + $9 = (_pthread_mutex_init((35900),$1)|0); + $10 = ($9|0)==(0); + if ($10) { + } + } + $11 = $2; + $12 = $11 & -16; + $13 = $12 ^ 1431655768; + HEAP32[$2>>2] = $13; + Atomics_store(HEAP32,8850,$13)|0; + } + (___pthread_mutex_unlock(35424)|0); + } + $14 = HEAP32[(35896)>>2]|0; + $15 = $14 & 2; + $16 = ($15|0)==(0); + if (!($16)) { + $17 = (___pthread_mutex_lock((35900))|0); + $18 = ($17|0)==(0); + if (!($18)) { + $$1 = 0; + STACKTOP = sp;return ($$1|0); + } + } + $19 = ($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); + if ($19) { + $20 = ($0>>>0)<(11); + $21 = (($0) + 11)|0; + $22 = $21 & -8; + $23 = $20 ? 16 : $22; + $24 = $23 >>> 3; + $25 = HEAP32[8863]|0; + $26 = $25 >>> $24; + $27 = $26 & 3; + $28 = ($27|0)==(0); + if (!($28)) { + $29 = $26 & 1; + $30 = $29 ^ 1; + $31 = (($30) + ($24))|0; + $32 = $31 << 1; + $33 = (35492 + ($32<<2)|0); + $34 = ((($33)) + 8|0); + $35 = HEAP32[$34>>2]|0; + $36 = ((($35)) + 8|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($33|0)==($37|0); do { - if ($21) { - $22 = 1 << $14; - $23 = $22 ^ -1; - $24 = $8 & $23; - HEAP32[8254] = $24; + if ($38) { + $39 = 1 << $31; + $40 = $39 ^ -1; + $41 = $25 & $40; + HEAP32[8863] = $41; } else { - $25 = HEAP32[(33032)>>2]|0; - $26 = ($20>>>0)<($25>>>0); - if ($26) { + $42 = HEAP32[(35468)>>2]|0; + $43 = ($37>>>0)<($42>>>0); + if ($43) { _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; + $44 = ((($37)) + 12|0); + $45 = HEAP32[$44>>2]|0; + $46 = ($45|0)==($35|0); + if ($46) { + HEAP32[$44>>2] = $33; + HEAP32[$34>>2] = $37; break; } else { _abort(); @@ -24050,79 +30381,79 @@ function _malloc($0) { } } } 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); + $47 = $31 << 3; + $48 = $47 | 3; + $49 = ((($35)) + 4|0); + HEAP32[$49>>2] = $48; + $50 = (($35) + ($47)|0); + $51 = ((($50)) + 4|0); + $52 = HEAP32[$51>>2]|0; + $53 = $52 | 1; + HEAP32[$51>>2] = $53; + $$2 = $36; + break; } - $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); + $54 = HEAP32[(35460)>>2]|0; + $55 = ($23>>>0)>($54>>>0); + if ($55) { + $56 = ($26|0)==(0); + if (!($56)) { + $57 = $26 << $24; + $58 = 2 << $24; + $59 = (0 - ($58))|0; + $60 = $58 | $59; + $61 = $57 & $60; + $62 = (0 - ($61))|0; + $63 = $61 & $62; + $64 = (($63) + -1)|0; + $65 = $64 >>> 12; + $66 = $65 & 16; + $67 = $64 >>> $66; + $68 = $67 >>> 5; + $69 = $68 & 8; + $70 = $69 | $66; + $71 = $67 >>> $69; + $72 = $71 >>> 2; + $73 = $72 & 4; + $74 = $70 | $73; + $75 = $71 >>> $73; + $76 = $75 >>> 1; + $77 = $76 & 2; + $78 = $74 | $77; + $79 = $75 >>> $77; + $80 = $79 >>> 1; + $81 = $80 & 1; + $82 = $78 | $81; + $83 = $79 >>> $81; + $84 = (($82) + ($83))|0; + $85 = $84 << 1; + $86 = (35492 + ($85<<2)|0); + $87 = ((($86)) + 8|0); + $88 = HEAP32[$87>>2]|0; + $89 = ((($88)) + 8|0); + $90 = HEAP32[$89>>2]|0; + $91 = ($86|0)==($90|0); do { - if ($74) { - $75 = 1 << $67; - $76 = $75 ^ -1; - $77 = $8 & $76; - HEAP32[8254] = $77; - $98 = $77; + if ($91) { + $92 = 1 << $84; + $93 = $92 ^ -1; + $94 = $25 & $93; + HEAP32[8863] = $94; + $115 = $94; } else { - $78 = HEAP32[(33032)>>2]|0; - $79 = ($73>>>0)<($78>>>0); - if ($79) { + $95 = HEAP32[(35468)>>2]|0; + $96 = ($90>>>0)<($95>>>0); + if ($96) { _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; + $97 = ((($90)) + 12|0); + $98 = HEAP32[$97>>2]|0; + $99 = ($98|0)==($88|0); + if ($99) { + HEAP32[$97>>2] = $86; + HEAP32[$87>>2] = $90; + $115 = $25; break; } else { _abort(); @@ -24130,178 +30461,179 @@ function _malloc($0) { } } } 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; + $100 = $84 << 3; + $101 = (($100) - ($23))|0; + $102 = $23 | 3; + $103 = ((($88)) + 4|0); + HEAP32[$103>>2] = $102; + $104 = (($88) + ($23)|0); + $105 = $101 | 1; + $106 = ((($104)) + 4|0); + HEAP32[$106>>2] = $105; + $107 = (($104) + ($101)|0); + HEAP32[$107>>2] = $101; + $108 = ($54|0)==(0); + if (!($108)) { + $109 = HEAP32[(35472)>>2]|0; + $110 = $54 >>> 3; + $111 = $110 << 1; + $112 = (35492 + ($111<<2)|0); + $113 = 1 << $110; + $114 = $115 & $113; + $116 = ($114|0)==(0); + if ($116) { + $117 = $115 | $113; + HEAP32[8863] = $117; + $$pre = ((($112)) + 8|0); + $$0200 = $112;$$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) { + $118 = ((($112)) + 8|0); + $119 = HEAP32[$118>>2]|0; + $120 = HEAP32[(35468)>>2]|0; + $121 = ($119>>>0)<($120>>>0); + if ($121) { _abort(); // unreachable; } else { - $$0199 = $102;$$pre$phiZ2D = $101; + $$0200 = $119;$$pre$phiZ2D = $118; } } - 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[$$pre$phiZ2D>>2] = $109; + $122 = ((($$0200)) + 12|0); + HEAP32[$122>>2] = $109; + $123 = ((($109)) + 8|0); + HEAP32[$123>>2] = $$0200; + $124 = ((($109)) + 12|0); + HEAP32[$124>>2] = $112; } - 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; + HEAP32[(35460)>>2] = $101; + HEAP32[(35472)>>2] = $104; + $$2 = $89; + break; + } + $125 = HEAP32[(35456)>>2]|0; + $126 = ($125|0)==(0); + if ($126) { + $$0198 = $23; + label = 153; } 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); + $127 = (0 - ($125))|0; + $128 = $125 & $127; + $129 = (($128) + -1)|0; + $130 = $129 >>> 12; + $131 = $130 & 16; + $132 = $129 >>> $131; + $133 = $132 >>> 5; + $134 = $133 & 8; + $135 = $134 | $131; + $136 = $132 >>> $134; + $137 = $136 >>> 2; + $138 = $137 & 4; + $139 = $135 | $138; + $140 = $136 >>> $138; + $141 = $140 >>> 1; + $142 = $141 & 2; + $143 = $139 | $142; + $144 = $140 >>> $142; + $145 = $144 >>> 1; + $146 = $145 & 1; + $147 = $143 | $146; + $148 = $144 >>> $146; + $149 = (($147) + ($148))|0; + $150 = (35756 + ($149<<2)|0); + $151 = HEAP32[$150>>2]|0; + $152 = ((($151)) + 4|0); + $153 = HEAP32[$152>>2]|0; + $154 = $153 & -8; + $155 = (($154) - ($23))|0; + $156 = ((($151)) + 16|0); + $157 = HEAP32[$156>>2]|0; + $not$5$i = ($157|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; + $158 = (((($151)) + 16|0) + ($$sink16$i<<2)|0); + $159 = HEAP32[$158>>2]|0; + $160 = ($159|0)==(0|0); + if ($160) { + $$0192$lcssa$i = $151;$$0193$lcssa$i = $155; } else { - $$01928$i = $134;$$01937$i = $138;$145 = $142; + $$01928$i = $151;$$01937$i = $155;$162 = $159; 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); + $161 = ((($162)) + 4|0); + $163 = HEAP32[$161>>2]|0; + $164 = $163 & -8; + $165 = (($164) - ($23))|0; + $166 = ($165>>>0)<($$01937$i>>>0); + $$$0193$i = $166 ? $165 : $$01937$i; + $$$0192$i = $166 ? $162 : $$01928$i; + $167 = ((($162)) + 16|0); + $168 = HEAP32[$167>>2]|0; + $not$$i = ($168|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) { + $169 = (((($162)) + 16|0) + ($$sink1$i<<2)|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==(0|0); + if ($171) { $$0192$lcssa$i = $$$0192$i;$$0193$lcssa$i = $$$0193$i; break; } else { - $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$145 = $153; + $$01928$i = $$$0192$i;$$01937$i = $$$0193$i;$162 = $170; } } } - $155 = HEAP32[(33032)>>2]|0; - $156 = ($$0192$lcssa$i>>>0)<($155>>>0); - if ($156) { + $172 = HEAP32[(35468)>>2]|0; + $173 = ($$0192$lcssa$i>>>0)<($172>>>0); + if ($173) { _abort(); // unreachable; } - $157 = (($$0192$lcssa$i) + ($6)|0); - $158 = ($$0192$lcssa$i>>>0)<($157>>>0); - if (!($158)) { + $174 = (($$0192$lcssa$i) + ($23)|0); + $175 = ($$0192$lcssa$i>>>0)<($174>>>0); + if (!($175)) { _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); + $176 = ((($$0192$lcssa$i)) + 24|0); + $177 = HEAP32[$176>>2]|0; + $178 = ((($$0192$lcssa$i)) + 12|0); + $179 = HEAP32[$178>>2]|0; + $180 = ($179|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) { + if ($180) { + $190 = ((($$0192$lcssa$i)) + 20|0); + $191 = HEAP32[$190>>2]|0; + $192 = ($191|0)==(0|0); + if ($192) { + $193 = ((($$0192$lcssa$i)) + 16|0); + $194 = HEAP32[$193>>2]|0; + $195 = ($194|0)==(0|0); + if ($195) { $$3$i = 0; break; } else { - $$1196$i = $177;$$1198$i = $176; + $$1196$i = $194;$$1198$i = $193; } } else { - $$1196$i = $174;$$1198$i = $173; + $$1196$i = $191;$$1198$i = $190; } 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; + $196 = ((($$1196$i)) + 20|0); + $197 = HEAP32[$196>>2]|0; + $198 = ($197|0)==(0|0); + if (!($198)) { + $$1196$i = $197;$$1198$i = $196; continue; } - $182 = ((($$1196$i)) + 16|0); - $183 = HEAP32[$182>>2]|0; - $184 = ($183|0)==(0|0); - if ($184) { + $199 = ((($$1196$i)) + 16|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($200|0)==(0|0); + if ($201) { break; } else { - $$1196$i = $183;$$1198$i = $182; + $$1196$i = $200;$$1198$i = $199; } } - $185 = ($$1198$i>>>0)<($155>>>0); - if ($185) { + $202 = ($$1198$i>>>0)<($172>>>0); + if ($202) { _abort(); // unreachable; } else { @@ -24310,27 +30642,27 @@ function _malloc($0) { break; } } else { - $164 = ((($$0192$lcssa$i)) + 8|0); - $165 = HEAP32[$164>>2]|0; - $166 = ($165>>>0)<($155>>>0); - if ($166) { + $181 = ((($$0192$lcssa$i)) + 8|0); + $182 = HEAP32[$181>>2]|0; + $183 = ($182>>>0)<($172>>>0); + if ($183) { _abort(); // unreachable; } - $167 = ((($165)) + 12|0); - $168 = HEAP32[$167>>2]|0; - $169 = ($168|0)==($$0192$lcssa$i|0); - if (!($169)) { + $184 = ((($182)) + 12|0); + $185 = HEAP32[$184>>2]|0; + $186 = ($185|0)==($$0192$lcssa$i|0); + if (!($186)) { _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; + $187 = ((($179)) + 8|0); + $188 = HEAP32[$187>>2]|0; + $189 = ($188|0)==($$0192$lcssa$i|0); + if ($189) { + HEAP32[$184>>2] = $179; + HEAP32[$187>>2] = $182; + $$3$i = $179; break; } else { _abort(); @@ -24338,397 +30670,401 @@ function _malloc($0) { } } } 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); + $203 = ($177|0)==(0|0); + L85: do { + if (!($203)) { + $204 = ((($$0192$lcssa$i)) + 28|0); + $205 = HEAP32[$204>>2]|0; + $206 = (35756 + ($205<<2)|0); + $207 = HEAP32[$206>>2]|0; + $208 = ($$0192$lcssa$i|0)==($207|0); do { - if ($191) { - HEAP32[$189>>2] = $$3$i; + if ($208) { + HEAP32[$206>>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; + $209 = 1 << $205; + $210 = $209 ^ -1; + $211 = $125 & $210; + HEAP32[(35456)>>2] = $211; + break L85; } } else { - $195 = HEAP32[(33032)>>2]|0; - $196 = ($160>>>0)<($195>>>0); - if ($196) { + $212 = HEAP32[(35468)>>2]|0; + $213 = ($177>>>0)<($212>>>0); + if ($213) { _abort(); // unreachable; } else { - $197 = ((($160)) + 16|0); - $198 = HEAP32[$197>>2]|0; - $not$1$i = ($198|0)!=($$0192$lcssa$i|0); + $214 = ((($177)) + 16|0); + $215 = HEAP32[$214>>2]|0; + $not$1$i = ($215|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; + $216 = (((($177)) + 16|0) + ($$sink2$i<<2)|0); + HEAP32[$216>>2] = $$3$i; + $217 = ($$3$i|0)==(0|0); + if ($217) { + break L85; } else { break; } } } } while(0); - $201 = HEAP32[(33032)>>2]|0; - $202 = ($$3$i>>>0)<($201>>>0); - if ($202) { + $218 = HEAP32[(35468)>>2]|0; + $219 = ($$3$i>>>0)<($218>>>0); + if ($219) { _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); + $220 = ((($$3$i)) + 24|0); + HEAP32[$220>>2] = $177; + $221 = ((($$0192$lcssa$i)) + 16|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); do { - if (!($206)) { - $207 = ($205>>>0)<($201>>>0); - if ($207) { + if (!($223)) { + $224 = ($222>>>0)<($218>>>0); + if ($224) { _abort(); // unreachable; } else { - $208 = ((($$3$i)) + 16|0); - HEAP32[$208>>2] = $205; - $209 = ((($205)) + 24|0); - HEAP32[$209>>2] = $$3$i; + $225 = ((($$3$i)) + 16|0); + HEAP32[$225>>2] = $222; + $226 = ((($222)) + 24|0); + HEAP32[$226>>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) { + $227 = ((($$0192$lcssa$i)) + 20|0); + $228 = HEAP32[$227>>2]|0; + $229 = ($228|0)==(0|0); + if (!($229)) { + $230 = HEAP32[(35468)>>2]|0; + $231 = ($228>>>0)<($230>>>0); + if ($231) { _abort(); // unreachable; } else { - $215 = ((($$3$i)) + 20|0); - HEAP32[$215>>2] = $211; - $216 = ((($211)) + 24|0); - HEAP32[$216>>2] = $$3$i; + $232 = ((($$3$i)) + 20|0); + HEAP32[$232>>2] = $228; + $233 = ((($228)) + 24|0); + HEAP32[$233>>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; + $234 = ($$0193$lcssa$i>>>0)<(16); + if ($234) { + $235 = (($$0193$lcssa$i) + ($23))|0; + $236 = $235 | 3; + $237 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$237>>2] = $236; + $238 = (($$0192$lcssa$i) + ($235)|0); + $239 = ((($238)) + 4|0); + $240 = HEAP32[$239>>2]|0; + $241 = $240 | 1; + HEAP32[$239>>2] = $241; } 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; + $242 = $23 | 3; + $243 = ((($$0192$lcssa$i)) + 4|0); + HEAP32[$243>>2] = $242; + $244 = $$0193$lcssa$i | 1; + $245 = ((($174)) + 4|0); + HEAP32[$245>>2] = $244; + $246 = (($174) + ($$0193$lcssa$i)|0); + HEAP32[$246>>2] = $$0193$lcssa$i; + $247 = ($54|0)==(0); + if (!($247)) { + $248 = HEAP32[(35472)>>2]|0; + $249 = $54 >>> 3; + $250 = $249 << 1; + $251 = (35492 + ($250<<2)|0); + $252 = 1 << $249; + $253 = $25 & $252; + $254 = ($253|0)==(0); + if ($254) { + $255 = $25 | $252; + HEAP32[8863] = $255; + $$pre$i = ((($251)) + 8|0); + $$0189$i = $251;$$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) { + $256 = ((($251)) + 8|0); + $257 = HEAP32[$256>>2]|0; + $258 = HEAP32[(35468)>>2]|0; + $259 = ($257>>>0)<($258>>>0); + if ($259) { _abort(); // unreachable; } else { - $$0189$i = $240;$$pre$phi$iZ2D = $239; + $$0189$i = $257;$$pre$phi$iZ2D = $256; } } - 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; + HEAP32[$$pre$phi$iZ2D>>2] = $248; + $260 = ((($$0189$i)) + 12|0); + HEAP32[$260>>2] = $248; + $261 = ((($248)) + 8|0); + HEAP32[$261>>2] = $$0189$i; + $262 = ((($248)) + 12|0); + HEAP32[$262>>2] = $251; + } + HEAP32[(35460)>>2] = $$0193$lcssa$i; + HEAP32[(35472)>>2] = $174; } - $246 = ((($$0192$lcssa$i)) + 8|0); - $$0 = $246; - STACKTOP = sp;return ($$0|0); + $263 = ((($$0192$lcssa$i)) + 8|0); + $$2 = $263; } } else { - $$0197 = $6; + $$0198 = $23; + label = 153; } } else { - $247 = ($0>>>0)>(4294967231); - if ($247) { - $$0197 = -1; + $264 = ($0>>>0)>(4294967231); + if ($264) { + $$0198 = -1; + label = 153; } else { - $248 = (($0) + 11)|0; - $249 = $248 & -8; - $250 = HEAP32[(33020)>>2]|0; - $251 = ($250|0)==(0); - if ($251) { - $$0197 = $249; + $265 = (($0) + 11)|0; + $266 = $265 & -8; + $267 = HEAP32[(35456)>>2]|0; + $268 = ($267|0)==(0); + if ($268) { + $$0198 = $266; + label = 153; } else { - $252 = (0 - ($249))|0; - $253 = $248 >>> 8; - $254 = ($253|0)==(0); - if ($254) { + $269 = (0 - ($266))|0; + $270 = $265 >>> 8; + $271 = ($270|0)==(0); + if ($271) { $$0358$i = 0; } else { - $255 = ($249>>>0)>(16777215); - if ($255) { + $272 = ($266>>>0)>(16777215); + if ($272) { $$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; + $273 = (($270) + 1048320)|0; + $274 = $273 >>> 16; + $275 = $274 & 8; + $276 = $270 << $275; + $277 = (($276) + 520192)|0; + $278 = $277 >>> 16; + $279 = $278 & 4; + $280 = $279 | $275; + $281 = $276 << $279; + $282 = (($281) + 245760)|0; + $283 = $282 >>> 16; + $284 = $283 & 2; + $285 = $280 | $284; + $286 = (14 - ($285))|0; + $287 = $281 << $284; + $288 = $287 >>> 15; + $289 = (($286) + ($288))|0; + $290 = $289 << 1; + $291 = (($289) + 7)|0; + $292 = $266 >>> $291; + $293 = $292 & 1; + $294 = $293 | $290; + $$0358$i = $294; } } - $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; + $295 = (35756 + ($$0358$i<<2)|0); + $296 = HEAP32[$295>>2]|0; + $297 = ($296|0)==(0|0); + L128: do { + if ($297) { + $$2355$i = 0;$$3$i202 = 0;$$3350$i = $269; + label = 90; } 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; + $298 = ($$0358$i|0)==(31); + $299 = $$0358$i >>> 1; + $300 = (25 - ($299))|0; + $301 = $298 ? 0 : $300; + $302 = $266 << $301; + $$0342$i = 0;$$0347$i = $269;$$0353$i = $296;$$0359$i = $302;$$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) { + $303 = ((($$0353$i)) + 4|0); + $304 = HEAP32[$303>>2]|0; + $305 = $304 & -8; + $306 = (($305) - ($266))|0; + $307 = ($306>>>0)<($$0347$i>>>0); + if ($307) { + $308 = ($306|0)==(0); + if ($308) { $$415$i = $$0353$i;$$435114$i = 0;$$435713$i = $$0353$i; - label = 85; - break L117; + label = 94; + break L128; } else { - $$1343$i = $$0353$i;$$1348$i = $289; + $$1343$i = $$0353$i;$$1348$i = $306; } } 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; + $309 = ((($$0353$i)) + 20|0); + $310 = HEAP32[$309>>2]|0; + $311 = $$0359$i >>> 31; + $312 = (((($$0353$i)) + 16|0) + ($311<<2)|0); + $313 = HEAP32[$312>>2]|0; + $314 = ($310|0)==(0|0); + $315 = ($310|0)==($313|0); + $or$cond2$i = $314 | $315; + $$1363$i = $or$cond2$i ? $$0362$i : $310; + $316 = ($313|0)==(0|0); + $not$8$i = $316 ^ 1; + $317 = $not$8$i&1; + $$0359$$i = $$0359$i << $317; + if ($316) { + $$2355$i = $$1363$i;$$3$i202 = $$1343$i;$$3350$i = $$1348$i; + label = 90; break; } else { - $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $296;$$0359$i = $$0359$$i;$$0362$i = $$1363$i; + $$0342$i = $$1343$i;$$0347$i = $$1348$i;$$0353$i = $313;$$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 ((label|0) == 90) { + $318 = ($$2355$i|0)==(0|0); + $319 = ($$3$i202|0)==(0|0); + $or$cond$i = $318 & $319; 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; + $320 = 2 << $$0358$i; + $321 = (0 - ($320))|0; + $322 = $320 | $321; + $323 = $267 & $322; + $324 = ($323|0)==(0); + if ($324) { + $$0198 = $266; + label = 153; 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; + $325 = (0 - ($323))|0; + $326 = $323 & $325; + $327 = (($326) + -1)|0; + $328 = $327 >>> 12; + $329 = $328 & 16; + $330 = $327 >>> $329; + $331 = $330 >>> 5; + $332 = $331 & 8; + $333 = $332 | $329; + $334 = $330 >>> $332; + $335 = $334 >>> 2; + $336 = $335 & 4; + $337 = $333 | $336; + $338 = $334 >>> $336; + $339 = $338 >>> 1; + $340 = $339 & 2; + $341 = $337 | $340; + $342 = $338 >>> $340; + $343 = $342 >>> 1; + $344 = $343 & 1; + $345 = $341 | $344; + $346 = $342 >>> $344; + $347 = (($345) + ($346))|0; + $348 = (35756 + ($347<<2)|0); + $349 = HEAP32[$348>>2]|0; + $$4$ph$i = 0;$$4357$ph$i = $349; } else { - $$4$ph$i = $$3$i201;$$4357$ph$i = $$2355$i; + $$4$ph$i = $$3$i202;$$4357$ph$i = $$2355$i; } - $333 = ($$4357$ph$i|0)==(0|0); - if ($333) { + $350 = ($$4357$ph$i|0)==(0|0); + if ($350) { $$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; + label = 94; } } - if ((label|0) == 85) { + if ((label|0) == 94) { 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) { + $351 = ((($$435713$i)) + 4|0); + $352 = HEAP32[$351>>2]|0; + $353 = $352 & -8; + $354 = (($353) - ($266))|0; + $355 = ($354>>>0)<($$435114$i>>>0); + $$$4351$i = $355 ? $354 : $$435114$i; + $$4357$$4$i = $355 ? $$435713$i : $$415$i; + $356 = ((($$435713$i)) + 16|0); + $357 = HEAP32[$356>>2]|0; + $not$1$i204 = ($357|0)==(0|0); + $$sink2$i205 = $not$1$i204&1; + $358 = (((($$435713$i)) + 16|0) + ($$sink2$i205<<2)|0); + $359 = HEAP32[$358>>2]|0; + $360 = ($359|0)==(0|0); + if ($360) { $$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; + $$415$i = $$4357$$4$i;$$435114$i = $$$4351$i;$$435713$i = $359; + label = 94; } } } - $344 = ($$4$lcssa$i|0)==(0|0); - if ($344) { - $$0197 = $249; + $361 = ($$4$lcssa$i|0)==(0|0); + if ($361) { + $$0198 = $266; + label = 153; } 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) { + $362 = HEAP32[(35460)>>2]|0; + $363 = (($362) - ($266))|0; + $364 = ($$4351$lcssa$i>>>0)<($363>>>0); + if ($364) { + $365 = HEAP32[(35468)>>2]|0; + $366 = ($$4$lcssa$i>>>0)<($365>>>0); + if ($366) { _abort(); // unreachable; } - $350 = (($$4$lcssa$i) + ($249)|0); - $351 = ($$4$lcssa$i>>>0)<($350>>>0); - if (!($351)) { + $367 = (($$4$lcssa$i) + ($266)|0); + $368 = ($$4$lcssa$i>>>0)<($367>>>0); + if (!($368)) { _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); + $369 = ((($$4$lcssa$i)) + 24|0); + $370 = HEAP32[$369>>2]|0; + $371 = ((($$4$lcssa$i)) + 12|0); + $372 = HEAP32[$371>>2]|0; + $373 = ($372|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) { + if ($373) { + $383 = ((($$4$lcssa$i)) + 20|0); + $384 = HEAP32[$383>>2]|0; + $385 = ($384|0)==(0|0); + if ($385) { + $386 = ((($$4$lcssa$i)) + 16|0); + $387 = HEAP32[$386>>2]|0; + $388 = ($387|0)==(0|0); + if ($388) { $$3372$i = 0; break; } else { - $$1370$i = $370;$$1374$i = $369; + $$1370$i = $387;$$1374$i = $386; } } else { - $$1370$i = $367;$$1374$i = $366; + $$1370$i = $384;$$1374$i = $383; } 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; + $389 = ((($$1370$i)) + 20|0); + $390 = HEAP32[$389>>2]|0; + $391 = ($390|0)==(0|0); + if (!($391)) { + $$1370$i = $390;$$1374$i = $389; continue; } - $375 = ((($$1370$i)) + 16|0); - $376 = HEAP32[$375>>2]|0; - $377 = ($376|0)==(0|0); - if ($377) { + $392 = ((($$1370$i)) + 16|0); + $393 = HEAP32[$392>>2]|0; + $394 = ($393|0)==(0|0); + if ($394) { break; } else { - $$1370$i = $376;$$1374$i = $375; + $$1370$i = $393;$$1374$i = $392; } } - $378 = ($$1374$i>>>0)<($348>>>0); - if ($378) { + $395 = ($$1374$i>>>0)<($365>>>0); + if ($395) { _abort(); // unreachable; } else { @@ -24737,27 +31073,27 @@ function _malloc($0) { break; } } else { - $357 = ((($$4$lcssa$i)) + 8|0); - $358 = HEAP32[$357>>2]|0; - $359 = ($358>>>0)<($348>>>0); - if ($359) { + $374 = ((($$4$lcssa$i)) + 8|0); + $375 = HEAP32[$374>>2]|0; + $376 = ($375>>>0)<($365>>>0); + if ($376) { _abort(); // unreachable; } - $360 = ((($358)) + 12|0); - $361 = HEAP32[$360>>2]|0; - $362 = ($361|0)==($$4$lcssa$i|0); - if (!($362)) { + $377 = ((($375)) + 12|0); + $378 = HEAP32[$377>>2]|0; + $379 = ($378|0)==($$4$lcssa$i|0); + if (!($379)) { _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; + $380 = ((($372)) + 8|0); + $381 = HEAP32[$380>>2]|0; + $382 = ($381|0)==($$4$lcssa$i|0); + if ($382) { + HEAP32[$377>>2] = $372; + HEAP32[$380>>2] = $375; + $$3372$i = $372; break; } else { _abort(); @@ -24765,273 +31101,275 @@ function _malloc($0) { } } } while(0); - $379 = ($353|0)==(0|0); - L164: do { - if ($379) { - $470 = $250; + $396 = ($370|0)==(0|0); + L175: do { + if ($396) { + $487 = $267; } 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); + $397 = ((($$4$lcssa$i)) + 28|0); + $398 = HEAP32[$397>>2]|0; + $399 = (35756 + ($398<<2)|0); + $400 = HEAP32[$399>>2]|0; + $401 = ($$4$lcssa$i|0)==($400|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; + if ($401) { + HEAP32[$399>>2] = $$3372$i; + $cond$i209 = ($$3372$i|0)==(0|0); + if ($cond$i209) { + $402 = 1 << $398; + $403 = $402 ^ -1; + $404 = $267 & $403; + HEAP32[(35456)>>2] = $404; + $487 = $404; + break L175; } } else { - $388 = HEAP32[(33032)>>2]|0; - $389 = ($353>>>0)<($388>>>0); - if ($389) { + $405 = HEAP32[(35468)>>2]|0; + $406 = ($370>>>0)<($405>>>0); + if ($406) { _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; + $407 = ((($370)) + 16|0); + $408 = HEAP32[$407>>2]|0; + $not$$i210 = ($408|0)!=($$4$lcssa$i|0); + $$sink3$i = $not$$i210&1; + $409 = (((($370)) + 16|0) + ($$sink3$i<<2)|0); + HEAP32[$409>>2] = $$3372$i; + $410 = ($$3372$i|0)==(0|0); + if ($410) { + $487 = $267; + break L175; } else { break; } } } } while(0); - $394 = HEAP32[(33032)>>2]|0; - $395 = ($$3372$i>>>0)<($394>>>0); - if ($395) { + $411 = HEAP32[(35468)>>2]|0; + $412 = ($$3372$i>>>0)<($411>>>0); + if ($412) { _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); + $413 = ((($$3372$i)) + 24|0); + HEAP32[$413>>2] = $370; + $414 = ((($$4$lcssa$i)) + 16|0); + $415 = HEAP32[$414>>2]|0; + $416 = ($415|0)==(0|0); do { - if (!($399)) { - $400 = ($398>>>0)<($394>>>0); - if ($400) { + if (!($416)) { + $417 = ($415>>>0)<($411>>>0); + if ($417) { _abort(); // unreachable; } else { - $401 = ((($$3372$i)) + 16|0); - HEAP32[$401>>2] = $398; - $402 = ((($398)) + 24|0); - HEAP32[$402>>2] = $$3372$i; + $418 = ((($$3372$i)) + 16|0); + HEAP32[$418>>2] = $415; + $419 = ((($415)) + 24|0); + HEAP32[$419>>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; + $420 = ((($$4$lcssa$i)) + 20|0); + $421 = HEAP32[$420>>2]|0; + $422 = ($421|0)==(0|0); + if ($422) { + $487 = $267; } else { - $406 = HEAP32[(33032)>>2]|0; - $407 = ($404>>>0)<($406>>>0); - if ($407) { + $423 = HEAP32[(35468)>>2]|0; + $424 = ($421>>>0)<($423>>>0); + if ($424) { _abort(); // unreachable; } else { - $408 = ((($$3372$i)) + 20|0); - HEAP32[$408>>2] = $404; - $409 = ((($404)) + 24|0); - HEAP32[$409>>2] = $$3372$i; - $470 = $250; + $425 = ((($$3372$i)) + 20|0); + HEAP32[$425>>2] = $421; + $426 = ((($421)) + 24|0); + HEAP32[$426>>2] = $$3372$i; + $487 = $267; break; } } } } while(0); - $410 = ($$4351$lcssa$i>>>0)<(16); + $427 = ($$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; + if ($427) { + $428 = (($$4351$lcssa$i) + ($266))|0; + $429 = $428 | 3; + $430 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$430>>2] = $429; + $431 = (($$4$lcssa$i) + ($428)|0); + $432 = ((($431)) + 4|0); + $433 = HEAP32[$432>>2]|0; + $434 = $433 | 1; + HEAP32[$432>>2] = $434; } 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) { + $435 = $266 | 3; + $436 = ((($$4$lcssa$i)) + 4|0); + HEAP32[$436>>2] = $435; + $437 = $$4351$lcssa$i | 1; + $438 = ((($367)) + 4|0); + HEAP32[$438>>2] = $437; + $439 = (($367) + ($$4351$lcssa$i)|0); + HEAP32[$439>>2] = $$4351$lcssa$i; + $440 = $$4351$lcssa$i >>> 3; + $441 = ($$4351$lcssa$i>>>0)<(256); + if ($441) { + $442 = $440 << 1; + $443 = (35492 + ($442<<2)|0); + $444 = HEAP32[8863]|0; + $445 = 1 << $440; + $446 = $444 & $445; + $447 = ($446|0)==(0); + do { + if ($447) { + $448 = $444 | $445; + HEAP32[8863] = $448; + $$pre$i211 = ((($443)) + 8|0); + $$0368$i = $443;$$pre$phi$i212Z2D = $$pre$i211; + } else { + $449 = ((($443)) + 8|0); + $450 = HEAP32[$449>>2]|0; + $451 = HEAP32[(35468)>>2]|0; + $452 = ($450>>>0)<($451>>>0); + if (!($452)) { + $$0368$i = $450;$$pre$phi$i212Z2D = $449; + break; + } _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; + } while(0); + HEAP32[$$pre$phi$i212Z2D>>2] = $367; + $453 = ((($$0368$i)) + 12|0); + HEAP32[$453>>2] = $367; + $454 = ((($367)) + 8|0); + HEAP32[$454>>2] = $$0368$i; + $455 = ((($367)) + 12|0); + HEAP32[$455>>2] = $443; break; } - $439 = $$4351$lcssa$i >>> 8; - $440 = ($439|0)==(0); - if ($440) { + $456 = $$4351$lcssa$i >>> 8; + $457 = ($456|0)==(0); + if ($457) { $$0361$i = 0; } else { - $441 = ($$4351$lcssa$i>>>0)>(16777215); - if ($441) { + $458 = ($$4351$lcssa$i>>>0)>(16777215); + if ($458) { $$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; + $459 = (($456) + 1048320)|0; + $460 = $459 >>> 16; + $461 = $460 & 8; + $462 = $456 << $461; + $463 = (($462) + 520192)|0; + $464 = $463 >>> 16; + $465 = $464 & 4; + $466 = $465 | $461; + $467 = $462 << $465; + $468 = (($467) + 245760)|0; + $469 = $468 >>> 16; + $470 = $469 & 2; + $471 = $466 | $470; + $472 = (14 - ($471))|0; + $473 = $467 << $470; + $474 = $473 >>> 15; + $475 = (($472) + ($474))|0; + $476 = $475 << 1; + $477 = (($475) + 7)|0; + $478 = $$4351$lcssa$i >>> $477; + $479 = $478 & 1; + $480 = $479 | $476; + $$0361$i = $480; } } - $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; + $481 = (35756 + ($$0361$i<<2)|0); + $482 = ((($367)) + 28|0); + HEAP32[$482>>2] = $$0361$i; + $483 = ((($367)) + 16|0); + $484 = ((($483)) + 4|0); + HEAP32[$484>>2] = 0; + HEAP32[$483>>2] = 0; + $485 = 1 << $$0361$i; + $486 = $487 & $485; + $488 = ($486|0)==(0); + if ($488) { + $489 = $487 | $485; + HEAP32[(35456)>>2] = $489; + HEAP32[$481>>2] = $367; + $490 = ((($367)) + 24|0); + HEAP32[$490>>2] = $481; + $491 = ((($367)) + 12|0); + HEAP32[$491>>2] = $367; + $492 = ((($367)) + 8|0); + HEAP32[$492>>2] = $367; 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; + $493 = HEAP32[$481>>2]|0; + $494 = ($$0361$i|0)==(31); + $495 = $$0361$i >>> 1; + $496 = (25 - ($495))|0; + $497 = $494 ? 0 : $496; + $498 = $$4351$lcssa$i << $497; + $$0344$i = $498;$$0345$i = $493; 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; + $499 = ((($$0345$i)) + 4|0); + $500 = HEAP32[$499>>2]|0; + $501 = $500 & -8; + $502 = ($501|0)==($$4351$lcssa$i|0); + if ($502) { + label = 148; 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; + $503 = $$0344$i >>> 31; + $504 = (((($$0345$i)) + 16|0) + ($503<<2)|0); + $505 = $$0344$i << 1; + $506 = HEAP32[$504>>2]|0; + $507 = ($506|0)==(0|0); + if ($507) { + label = 145; break; } else { - $$0344$i = $488;$$0345$i = $489; + $$0344$i = $505;$$0345$i = $506; } } - if ((label|0) == 136) { - $491 = HEAP32[(33032)>>2]|0; - $492 = ($487>>>0)<($491>>>0); - if ($492) { + if ((label|0) == 145) { + $508 = HEAP32[(35468)>>2]|0; + $509 = ($504>>>0)<($508>>>0); + if ($509) { _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; + HEAP32[$504>>2] = $367; + $510 = ((($367)) + 24|0); + HEAP32[$510>>2] = $$0345$i; + $511 = ((($367)) + 12|0); + HEAP32[$511>>2] = $367; + $512 = ((($367)) + 8|0); + HEAP32[$512>>2] = $367; 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; + else if ((label|0) == 148) { + $513 = ((($$0345$i)) + 8|0); + $514 = HEAP32[$513>>2]|0; + $515 = HEAP32[(35468)>>2]|0; + $516 = ($514>>>0)>=($515>>>0); + $not$9$i = ($$0345$i>>>0)>=($515>>>0); + $517 = $516 & $not$9$i; + if ($517) { + $518 = ((($514)) + 12|0); + HEAP32[$518>>2] = $367; + HEAP32[$513>>2] = $367; + $519 = ((($367)) + 8|0); + HEAP32[$519>>2] = $514; + $520 = ((($367)) + 12|0); + HEAP32[$520>>2] = $$0345$i; + $521 = ((($367)) + 24|0); + HEAP32[$521>>2] = 0; break; } else { _abort(); @@ -25040,1698 +31378,1461 @@ function _malloc($0) { } } } while(0); - $505 = ((($$4$lcssa$i)) + 8|0); - $$0 = $505; - STACKTOP = sp;return ($$0|0); + $522 = ((($$4$lcssa$i)) + 8|0); + $$2 = $522; } else { - $$0197 = $249; + $$0198 = $266; + label = 153; } } } } } } 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; + L230: do { + if ((label|0) == 153) { + $523 = HEAP32[(35460)>>2]|0; + $524 = ($523>>>0)<($$0198>>>0); + if (!($524)) { + $525 = (($523) - ($$0198))|0; + $526 = HEAP32[(35472)>>2]|0; + $527 = ($525>>>0)>(15); + if ($527) { + $528 = (($526) + ($$0198)|0); + HEAP32[(35472)>>2] = $528; + HEAP32[(35460)>>2] = $525; + $529 = $525 | 1; + $530 = ((($528)) + 4|0); + HEAP32[$530>>2] = $529; + $531 = (($528) + ($525)|0); + HEAP32[$531>>2] = $525; + $532 = $$0198 | 3; + $533 = ((($526)) + 4|0); + HEAP32[$533>>2] = $532; } 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; - } + HEAP32[(35460)>>2] = 0; + HEAP32[(35472)>>2] = 0; + $534 = $523 | 3; + $535 = ((($526)) + 4|0); + HEAP32[$535>>2] = $534; + $536 = (($526) + ($523)|0); + $537 = ((($536)) + 4|0); + $538 = HEAP32[$537>>2]|0; + $539 = $538 | 1; + HEAP32[$537>>2] = $539; + } + $540 = ((($526)) + 8|0); + $$2 = $540; + break; + } + $541 = HEAP32[(35464)>>2]|0; + $542 = ($541>>>0)>($$0198>>>0); + if ($542) { + $543 = (($541) - ($$0198))|0; + HEAP32[(35464)>>2] = $543; + $544 = HEAP32[(35476)>>2]|0; + $545 = (($544) + ($$0198)|0); + HEAP32[(35476)>>2] = $545; + $546 = $543 | 1; + $547 = ((($545)) + 4|0); + HEAP32[$547>>2] = $546; + $548 = $$0198 | 3; + $549 = ((($544)) + 4|0); + HEAP32[$549>>2] = $548; + $550 = ((($544)) + 8|0); + $$2 = $550; + break; + } + $551 = HEAP32[8850]|0; + $552 = ($551|0)==(0); + if ($552) { + (___pthread_mutex_lock(35424)|0); + $553 = HEAP32[8850]|0; + $554 = ($553|0)==(0); + if ($554) { + HEAP32[(35408)>>2] = 4096; + HEAP32[(35404)>>2] = 4096; + HEAP32[(35412)>>2] = -1; + HEAP32[(35416)>>2] = -1; + HEAP32[(35420)>>2] = 2; + HEAP32[(35896)>>2] = 2; + $555 = (_pthread_mutexattr_init($1)|0); + $556 = ($555|0)==(0); + if ($556) { + $557 = (_pthread_mutex_init((35900),$1)|0); + $558 = ($557|0)==(0); + if ($558) { } - $563 = ((($$0$i$i)) + 8|0); - $564 = HEAP32[$563>>2]|0; - $565 = ($564|0)==(0|0); - if ($565) { - label = 163; - break L246; + } + $559 = $2; + $560 = $559 & -16; + $561 = $560 ^ 1431655768; + HEAP32[$2>>2] = $561; + Atomics_store(HEAP32,8850,$561)|0; + } + (___pthread_mutex_unlock(35424)|0); + } + $562 = (($$0198) + 48)|0; + $563 = HEAP32[(35408)>>2]|0; + $564 = (($$0198) + 47)|0; + $565 = (($563) + ($564))|0; + $566 = (0 - ($563))|0; + $567 = $565 & $566; + $568 = ($567>>>0)>($$0198>>>0); + if ($568) { + $569 = HEAP32[(35892)>>2]|0; + $570 = ($569|0)==(0); + if (!($570)) { + $571 = HEAP32[(35884)>>2]|0; + $572 = (($571) + ($567))|0; + $573 = ($572>>>0)<=($571>>>0); + $574 = ($572>>>0)>($569>>>0); + $or$cond1$i = $573 | $574; + if ($or$cond1$i) { + $$2 = 0; + break; + } + } + $575 = HEAP32[(35896)>>2]|0; + $576 = $575 & 4; + $577 = ($576|0)==(0); + if ($577) { + $578 = HEAP32[(35476)>>2]|0; + $579 = ($578|0)==(0|0); + L258: do { + if ($579) { + label = 176; } else { - $$0$i$i = $564; + $$0$i$i = (35928); + while(1) { + $580 = HEAP32[$$0$i$i>>2]|0; + $581 = ($580>>>0)>($578>>>0); + if (!($581)) { + $582 = ((($$0$i$i)) + 4|0); + $583 = HEAP32[$582>>2]|0; + $584 = (($580) + ($583)|0); + $585 = ($584>>>0)>($578>>>0); + if ($585) { + break; + } + } + $586 = ((($$0$i$i)) + 8|0); + $587 = HEAP32[$586>>2]|0; + $588 = ($587|0)==(0|0); + if ($588) { + label = 176; + break L258; + } else { + $$0$i$i = $587; + } + } + (___pthread_mutex_lock(35424)|0); + $611 = HEAP32[(35464)>>2]|0; + $612 = HEAP32[(35408)>>2]|0; + $613 = (($564) - ($611))|0; + $614 = (($613) + ($612))|0; + $615 = (0 - ($612))|0; + $616 = $614 & $615; + $617 = ($616>>>0)<(2147483647); + if ($617) { + $618 = (_sbrk(($616|0))|0); + $619 = HEAP32[$$0$i$i>>2]|0; + $620 = HEAP32[$582>>2]|0; + $621 = (($619) + ($620)|0); + $622 = ($618|0)==($621|0); + if ($622) { + $623 = ($618|0)==((-1)|0); + if ($623) { + $$2234253237$i = $616; + label = 190; + } else { + $$3229$i = $618;$$3235$i = $616; + } + } else { + $$2247$ph$i = $618;$$2253$ph$i = $616; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } } - } - $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; + } while(0); + do { + if ((label|0) == 176) { + (___pthread_mutex_lock(35424)|0); + $589 = (_sbrk(0)|0); + $590 = ($589|0)==((-1)|0); + if ($590) { + $$2234253237$i = 0; + label = 190; } else { - $$723948$i = $589;$$749$i = $591; - label = 180; - break L244; + $591 = $589; + $592 = HEAP32[(35404)>>2]|0; + $593 = (($592) + -1)|0; + $594 = $593 & $591; + $595 = ($594|0)==(0); + $596 = (($593) + ($591))|0; + $597 = (0 - ($592))|0; + $598 = $596 & $597; + $599 = (($598) - ($591))|0; + $600 = $595 ? 0 : $599; + $$$i = (($600) + ($567))|0; + $601 = HEAP32[(35884)>>2]|0; + $602 = (($$$i) + ($601))|0; + $603 = ($$$i>>>0)>($$0198>>>0); + $604 = ($$$i>>>0)<(2147483647); + $or$cond$i213 = $603 & $604; + if ($or$cond$i213) { + $605 = HEAP32[(35892)>>2]|0; + $606 = ($605|0)==(0); + if (!($606)) { + $607 = ($602>>>0)<=($601>>>0); + $608 = ($602>>>0)>($605>>>0); + $or$cond2$i214 = $607 | $608; + if ($or$cond2$i214) { + $$2234253237$i = 0; + label = 190; + break; + } + } + $609 = (_sbrk(($$$i|0))|0); + $610 = ($609|0)==($589|0); + if ($610) { + $$3229$i = $589;$$3235$i = $$$i; + } else { + $$2247$ph$i = $609;$$2253$ph$i = $$$i; + label = 184; + } + } else { + $$2234253237$i = 0; + label = 190; + } } - } 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) { + } while(0); + do { + if ((label|0) == 184) { + $624 = (0 - ($$2253$ph$i))|0; + $625 = ($$2247$ph$i|0)!=((-1)|0); + $626 = ($$2253$ph$i>>>0)<(2147483647); + $or$cond7$i = $626 & $625; + $627 = ($562>>>0)>($$2253$ph$i>>>0); + $or$cond10$i = $627 & $or$cond7$i; + if (!($or$cond10$i)) { + $637 = ($$2247$ph$i|0)==((-1)|0); + if ($637) { $$2234253237$i = 0; + label = 190; + break; + } else { + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; break; } } - $586 = (_sbrk(($$$i|0))|0); - $587 = ($586|0)==($566|0); - if ($587) { - $$723948$i = $$$i;$$749$i = $566; - label = 180; - break L244; + $628 = HEAP32[(35408)>>2]|0; + $629 = (($564) - ($$2253$ph$i))|0; + $630 = (($629) + ($628))|0; + $631 = (0 - ($628))|0; + $632 = $630 & $631; + $633 = ($632>>>0)<(2147483647); + if ($633) { + $634 = (_sbrk(($632|0))|0); + $635 = ($634|0)==((-1)|0); + if ($635) { + (_sbrk(($624|0))|0); + $$2234253237$i = 0; + label = 190; + break; + } else { + $636 = (($632) + ($$2253$ph$i))|0; + $$3229$i = $$2247$ph$i;$$3235$i = $636; + break; + } } else { - $$2247$ph$i = $586;$$2253$ph$i = $$$i; - label = 171; + $$3229$i = $$2247$ph$i;$$3235$i = $$2253$ph$i; } - } 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; } + } while(0); + if ((label|0) == 190) { + $638 = HEAP32[(35896)>>2]|0; + $639 = $638 | 4; + HEAP32[(35896)>>2] = $639; + $$3229$i = (-1);$$3235$i = $$2234253237$i; } - } - $687 = HEAP32[(33032)>>2]|0; - $688 = ($$749$i>>>0)<($687>>>0); - if ($688) { - HEAP32[(33032)>>2] = $$749$i; - $752 = $$749$i; + (___pthread_mutex_unlock(35424)|0); + $$4230$i = $$3229$i;$$4236$i = $$3235$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; + $$4230$i = (-1);$$4236$i = 0; + } + $640 = ($$4230$i|0)==((-1)|0); + $641 = ($567>>>0)<(2147483647); + $or$cond9$i = $641 & $640; + if ($or$cond9$i) { + (___pthread_mutex_lock(35424)|0); + $642 = (_sbrk(($567|0))|0); + $643 = (_sbrk(0)|0); + (___pthread_mutex_unlock(35424)|0); + $644 = ($642|0)!=((-1)|0); + $645 = ($643|0)!=((-1)|0); + $or$cond5$i = $644 & $645; + $646 = ($642>>>0)<($643>>>0); + $or$cond11$i = $646 & $or$cond5$i; + $647 = $643; + $648 = $642; + $649 = (($647) - ($648))|0; + $650 = (($$0198) + 40)|0; + $651 = ($649>>>0)>($650>>>0); + $$$4236$i = $651 ? $649 : $$4236$i; + $$$4230$i = $651 ? $642 : (-1); + if ($or$cond11$i) { + $$7$i = $$$4230$i;$$7239$i = $$$4236$i; + label = 194; } - $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); + } else { + $$7$i = $$4230$i;$$7239$i = $$4236$i; + label = 194; + } + if ((label|0) == 194) { + $652 = ($$7$i|0)==((-1)|0); + if (!($652)) { + $653 = HEAP32[(35884)>>2]|0; + $654 = (($653) + ($$7239$i))|0; + HEAP32[(35884)>>2] = $654; + $655 = HEAP32[(35888)>>2]|0; + $656 = ($654>>>0)>($655>>>0); + if ($656) { + HEAP32[(35888)>>2] = $654; + } + $657 = HEAP32[(35476)>>2]|0; + $658 = ($657|0)==(0|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; + if ($658) { + $659 = HEAP32[(35468)>>2]|0; + $660 = ($659|0)==(0|0); + $661 = ($$7$i>>>0)<($659>>>0); + $or$cond12$i = $660 | $661; + if ($or$cond12$i) { + HEAP32[(35468)>>2] = $$7$i; + } + HEAP32[(35928)>>2] = $$7$i; + HEAP32[(35932)>>2] = $$7239$i; + HEAP32[(35940)>>2] = 0; + $662 = HEAP32[8850]|0; + HEAP32[(35488)>>2] = $662; + HEAP32[(35484)>>2] = -1; + $$01$i$i = 0; + while(1) { + $663 = $$01$i$i << 1; + $664 = (35492 + ($663<<2)|0); + $665 = ((($664)) + 12|0); + HEAP32[$665>>2] = $664; + $666 = ((($664)) + 8|0); + HEAP32[$666>>2] = $664; + $667 = (($$01$i$i) + 1)|0; + $exitcond$i$i = ($667|0)==(32); + if ($exitcond$i$i) { + break; + } else { + $$01$i$i = $667; + } + } + $668 = (($$7239$i) + -40)|0; + $669 = ((($$7$i)) + 8|0); + $670 = $669; + $671 = $670 & 7; + $672 = ($671|0)==(0); + $673 = (0 - ($670))|0; + $674 = $673 & 7; + $675 = $672 ? 0 : $674; + $676 = (($$7$i) + ($675)|0); + $677 = (($668) - ($675))|0; + HEAP32[(35476)>>2] = $676; + HEAP32[(35464)>>2] = $677; + $678 = $677 | 1; + $679 = ((($676)) + 4|0); + HEAP32[$679>>2] = $678; + $680 = (($676) + ($677)|0); + $681 = ((($680)) + 4|0); + HEAP32[$681>>2] = 40; + $682 = HEAP32[(35416)>>2]|0; + HEAP32[(35480)>>2] = $682; } 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; + $$024363$i = (35928); + while(1) { + $683 = HEAP32[$$024363$i>>2]|0; + $684 = ((($$024363$i)) + 4|0); + $685 = HEAP32[$684>>2]|0; + $686 = (($683) + ($685)|0); + $687 = ($$7$i|0)==($686|0); + if ($687) { + label = 205; + break; + } + $688 = ((($$024363$i)) + 8|0); + $689 = HEAP32[$688>>2]|0; + $690 = ($689|0)==(0|0); + if ($690) { + break; + } else { + $$024363$i = $689; + } } - $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; + if ((label|0) == 205) { + $691 = ((($$024363$i)) + 12|0); + $692 = HEAP32[$691>>2]|0; + $693 = $692 & 8; + $694 = ($693|0)==(0); + if ($694) { + $695 = ($657>>>0)>=($683>>>0); + $696 = ($657>>>0)<($$7$i>>>0); + $or$cond43$i = $696 & $695; + if ($or$cond43$i) { + $697 = (($685) + ($$7239$i))|0; + HEAP32[$684>>2] = $697; + $698 = HEAP32[(35464)>>2]|0; + $699 = ((($657)) + 8|0); + $700 = $699; + $701 = $700 & 7; + $702 = ($701|0)==(0); + $703 = (0 - ($700))|0; + $704 = $703 & 7; + $705 = $702 ? 0 : $704; + $706 = (($657) + ($705)|0); + $707 = (($$7239$i) - ($705))|0; + $708 = (($698) + ($707))|0; + HEAP32[(35476)>>2] = $706; + HEAP32[(35464)>>2] = $708; + $709 = $708 | 1; + $710 = ((($706)) + 4|0); + HEAP32[$710>>2] = $709; + $711 = (($706) + ($708)|0); + $712 = ((($711)) + 4|0); + HEAP32[$712>>2] = 40; + $713 = HEAP32[(35416)>>2]|0; + HEAP32[(35480)>>2] = $713; + break; + } + } + } + $714 = HEAP32[(35468)>>2]|0; + $715 = ($$7$i>>>0)<($714>>>0); + if ($715) { + HEAP32[(35468)>>2] = $$7$i; + $779 = $$7$i; + } else { + $779 = $714; + } + $716 = (($$7$i) + ($$7239$i)|0); + $$124462$i = (35928); + while(1) { + $717 = HEAP32[$$124462$i>>2]|0; + $718 = ($717|0)==($716|0); + if ($718) { + label = 213; + break; + } + $719 = ((($$124462$i)) + 8|0); + $720 = HEAP32[$719>>2]|0; + $721 = ($720|0)==(0|0); + if ($721) { + break; + } else { + $$124462$i = $720; + } + } + if ((label|0) == 213) { + $722 = ((($$124462$i)) + 12|0); + $723 = HEAP32[$722>>2]|0; + $724 = $723 & 8; + $725 = ($724|0)==(0); + if ($725) { + HEAP32[$$124462$i>>2] = $$7$i; + $726 = ((($$124462$i)) + 4|0); + $727 = HEAP32[$726>>2]|0; + $728 = (($727) + ($$7239$i))|0; + HEAP32[$726>>2] = $728; + $729 = ((($$7$i)) + 8|0); + $730 = $729; + $731 = $730 & 7; + $732 = ($731|0)==(0); + $733 = (0 - ($730))|0; + $734 = $733 & 7; + $735 = $732 ? 0 : $734; + $736 = (($$7$i) + ($735)|0); + $737 = ((($716)) + 8|0); + $738 = $737; + $739 = $738 & 7; + $740 = ($739|0)==(0); + $741 = (0 - ($738))|0; + $742 = $741 & 7; + $743 = $740 ? 0 : $742; + $744 = (($716) + ($743)|0); + $745 = $744; + $746 = $736; + $747 = (($745) - ($746))|0; + $748 = (($736) + ($$0198)|0); + $749 = (($747) - ($$0198))|0; + $750 = $$0198 | 3; + $751 = ((($736)) + 4|0); + HEAP32[$751>>2] = $750; + $752 = ($744|0)==($657|0); + do { + if ($752) { + $753 = HEAP32[(35464)>>2]|0; + $754 = (($753) + ($749))|0; + HEAP32[(35464)>>2] = $754; + HEAP32[(35476)>>2] = $748; + $755 = $754 | 1; + $756 = ((($748)) + 4|0); + HEAP32[$756>>2] = $755; + } else { + $757 = HEAP32[(35472)>>2]|0; + $758 = ($744|0)==($757|0); + if ($758) { + $759 = HEAP32[(35460)>>2]|0; + $760 = (($759) + ($749))|0; + HEAP32[(35460)>>2] = $760; + HEAP32[(35472)>>2] = $748; + $761 = $760 | 1; + $762 = ((($748)) + 4|0); + HEAP32[$762>>2] = $761; + $763 = (($748) + ($760)|0); + HEAP32[$763>>2] = $760; + break; } - } 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; + $764 = ((($744)) + 4|0); + $765 = HEAP32[$764>>2]|0; + $766 = $765 & 3; + $767 = ($766|0)==(1); + if ($767) { + $768 = $765 & -8; + $769 = $765 >>> 3; + $770 = ($765>>>0)<(256); + L329: do { + if ($770) { + $771 = ((($744)) + 8|0); + $772 = HEAP32[$771>>2]|0; + $773 = ((($744)) + 12|0); + $774 = HEAP32[$773>>2]|0; + $775 = $769 << 1; + $776 = (35492 + ($775<<2)|0); + $777 = ($772|0)==($776|0); + do { + if (!($777)) { + $778 = ($772>>>0)<($779>>>0); + if ($778) { + _abort(); + // unreachable; + } + $780 = ((($772)) + 12|0); + $781 = HEAP32[$780>>2]|0; + $782 = ($781|0)==($744|0); + if ($782) { + break; + } + _abort(); + // unreachable; + } + } while(0); + $783 = ($774|0)==($772|0); + if ($783) { + $784 = 1 << $769; + $785 = $784 ^ -1; + $786 = HEAP32[8863]|0; + $787 = $786 & $785; + HEAP32[8863] = $787; + break; + } + $788 = ($774|0)==($776|0); + do { + if ($788) { + $$pre10$i$i = ((($774)) + 8|0); + $$pre$phi11$i$iZ2D = $$pre10$i$i; + } else { + $789 = ($774>>>0)<($779>>>0); + if ($789) { + _abort(); + // unreachable; + } + $790 = ((($774)) + 8|0); + $791 = HEAP32[$790>>2]|0; + $792 = ($791|0)==($744|0); + if ($792) { + $$pre$phi11$i$iZ2D = $790; + break; + } + _abort(); + // unreachable; + } + } while(0); + $793 = ((($772)) + 12|0); + HEAP32[$793>>2] = $774; + HEAP32[$$pre$phi11$i$iZ2D>>2] = $772; + } else { + $794 = ((($744)) + 24|0); + $795 = HEAP32[$794>>2]|0; + $796 = ((($744)) + 12|0); + $797 = HEAP32[$796>>2]|0; + $798 = ($797|0)==($744|0); + do { + if ($798) { + $808 = ((($744)) + 16|0); + $809 = ((($808)) + 4|0); + $810 = HEAP32[$809>>2]|0; + $811 = ($810|0)==(0|0); + if ($811) { + $812 = HEAP32[$808>>2]|0; + $813 = ($812|0)==(0|0); + if ($813) { + $$3$i$i = 0; + break; + } else { + $$1291$i$i = $812;$$1293$i$i = $808; + } + } else { + $$1291$i$i = $810;$$1293$i$i = $809; + } + while(1) { + $814 = ((($$1291$i$i)) + 20|0); + $815 = HEAP32[$814>>2]|0; + $816 = ($815|0)==(0|0); + if (!($816)) { + $$1291$i$i = $815;$$1293$i$i = $814; + continue; + } + $817 = ((($$1291$i$i)) + 16|0); + $818 = HEAP32[$817>>2]|0; + $819 = ($818|0)==(0|0); + if ($819) { + break; + } else { + $$1291$i$i = $818;$$1293$i$i = $817; + } + } + $820 = ($$1293$i$i>>>0)<($779>>>0); + if ($820) { + _abort(); + // unreachable; + } else { + HEAP32[$$1293$i$i>>2] = 0; + $$3$i$i = $$1291$i$i; + break; + } + } else { + $799 = ((($744)) + 8|0); + $800 = HEAP32[$799>>2]|0; + $801 = ($800>>>0)<($779>>>0); + if ($801) { + _abort(); + // unreachable; + } + $802 = ((($800)) + 12|0); + $803 = HEAP32[$802>>2]|0; + $804 = ($803|0)==($744|0); + if (!($804)) { + _abort(); + // unreachable; + } + $805 = ((($797)) + 8|0); + $806 = HEAP32[$805>>2]|0; + $807 = ($806|0)==($744|0); + if ($807) { + HEAP32[$802>>2] = $797; + HEAP32[$805>>2] = $800; + $$3$i$i = $797; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $821 = ($795|0)==(0|0); + if ($821) { + break; + } + $822 = ((($744)) + 28|0); + $823 = HEAP32[$822>>2]|0; + $824 = (35756 + ($823<<2)|0); + $825 = HEAP32[$824>>2]|0; + $826 = ($744|0)==($825|0); + do { + if ($826) { + HEAP32[$824>>2] = $$3$i$i; + $cond$i$i = ($$3$i$i|0)==(0|0); + if (!($cond$i$i)) { + break; + } + $827 = 1 << $823; + $828 = $827 ^ -1; + $829 = HEAP32[(35456)>>2]|0; + $830 = $829 & $828; + HEAP32[(35456)>>2] = $830; + break L329; + } else { + $831 = HEAP32[(35468)>>2]|0; + $832 = ($795>>>0)<($831>>>0); + if ($832) { + _abort(); + // unreachable; + } else { + $833 = ((($795)) + 16|0); + $834 = HEAP32[$833>>2]|0; + $not$$i$i = ($834|0)!=($744|0); + $$sink1$i$i = $not$$i$i&1; + $835 = (((($795)) + 16|0) + ($$sink1$i$i<<2)|0); + HEAP32[$835>>2] = $$3$i$i; + $836 = ($$3$i$i|0)==(0|0); + if ($836) { + break L329; + } else { + break; + } + } + } + } while(0); + $837 = HEAP32[(35468)>>2]|0; + $838 = ($$3$i$i>>>0)<($837>>>0); + if ($838) { + _abort(); + // unreachable; + } + $839 = ((($$3$i$i)) + 24|0); + HEAP32[$839>>2] = $795; + $840 = ((($744)) + 16|0); + $841 = HEAP32[$840>>2]|0; + $842 = ($841|0)==(0|0); + do { + if (!($842)) { + $843 = ($841>>>0)<($837>>>0); + if ($843) { + _abort(); + // unreachable; + } else { + $844 = ((($$3$i$i)) + 16|0); + HEAP32[$844>>2] = $841; + $845 = ((($841)) + 24|0); + HEAP32[$845>>2] = $$3$i$i; + break; + } + } + } while(0); + $846 = ((($840)) + 4|0); + $847 = HEAP32[$846>>2]|0; + $848 = ($847|0)==(0|0); + if ($848) { + break; + } + $849 = HEAP32[(35468)>>2]|0; + $850 = ($847>>>0)<($849>>>0); + if ($850) { + _abort(); + // unreachable; + } else { + $851 = ((($$3$i$i)) + 20|0); + HEAP32[$851>>2] = $847; + $852 = ((($847)) + 24|0); + HEAP32[$852>>2] = $$3$i$i; + break; + } + } + } while(0); + $853 = (($744) + ($768)|0); + $854 = (($768) + ($749))|0; + $$0$i17$i = $853;$$0287$i$i = $854; } 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; + $$0$i17$i = $744;$$0287$i$i = $749; } - } 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; + $855 = ((($$0$i17$i)) + 4|0); + $856 = HEAP32[$855>>2]|0; + $857 = $856 & -2; + HEAP32[$855>>2] = $857; + $858 = $$0287$i$i | 1; + $859 = ((($748)) + 4|0); + HEAP32[$859>>2] = $858; + $860 = (($748) + ($$0287$i$i)|0); + HEAP32[$860>>2] = $$0287$i$i; + $861 = $$0287$i$i >>> 3; + $862 = ($$0287$i$i>>>0)<(256); + if ($862) { + $863 = $861 << 1; + $864 = (35492 + ($863<<2)|0); + $865 = HEAP32[8863]|0; + $866 = 1 << $861; + $867 = $865 & $866; + $868 = ($867|0)==(0); + do { + if ($868) { + $869 = $865 | $866; + HEAP32[8863] = $869; + $$pre$i$i = ((($864)) + 8|0); + $$0295$i$i = $864;$$pre$phi$i$iZ2D = $$pre$i$i; } else { - $$1291$i$i = $785;$$1293$i$i = $781; + $870 = ((($864)) + 8|0); + $871 = HEAP32[$870>>2]|0; + $872 = HEAP32[(35468)>>2]|0; + $873 = ($871>>>0)<($872>>>0); + if (!($873)) { + $$0295$i$i = $871;$$pre$phi$i$iZ2D = $870; + break; + } + _abort(); + // unreachable; } + } while(0); + HEAP32[$$pre$phi$i$iZ2D>>2] = $748; + $874 = ((($$0295$i$i)) + 12|0); + HEAP32[$874>>2] = $748; + $875 = ((($748)) + 8|0); + HEAP32[$875>>2] = $$0295$i$i; + $876 = ((($748)) + 12|0); + HEAP32[$876>>2] = $864; + break; + } + $877 = $$0287$i$i >>> 8; + $878 = ($877|0)==(0); + do { + if ($878) { + $$0296$i$i = 0; } 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) { + $879 = ($$0287$i$i>>>0)>(16777215); + if ($879) { + $$0296$i$i = 31; break; - } else { - $$1291$i$i = $791;$$1293$i$i = $790; } + $880 = (($877) + 1048320)|0; + $881 = $880 >>> 16; + $882 = $881 & 8; + $883 = $877 << $882; + $884 = (($883) + 520192)|0; + $885 = $884 >>> 16; + $886 = $885 & 4; + $887 = $886 | $882; + $888 = $883 << $886; + $889 = (($888) + 245760)|0; + $890 = $889 >>> 16; + $891 = $890 & 2; + $892 = $887 | $891; + $893 = (14 - ($892))|0; + $894 = $888 << $891; + $895 = $894 >>> 15; + $896 = (($893) + ($895))|0; + $897 = $896 << 1; + $898 = (($896) + 7)|0; + $899 = $$0287$i$i >>> $898; + $900 = $899 & 1; + $901 = $900 | $897; + $$0296$i$i = $901; } - $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; + } while(0); + $902 = (35756 + ($$0296$i$i<<2)|0); + $903 = ((($748)) + 28|0); + HEAP32[$903>>2] = $$0296$i$i; + $904 = ((($748)) + 16|0); + $905 = ((($904)) + 4|0); + HEAP32[$905>>2] = 0; + HEAP32[$904>>2] = 0; + $906 = HEAP32[(35456)>>2]|0; + $907 = 1 << $$0296$i$i; + $908 = $906 & $907; + $909 = ($908|0)==(0); + if ($909) { + $910 = $906 | $907; + HEAP32[(35456)>>2] = $910; + HEAP32[$902>>2] = $748; + $911 = ((($748)) + 24|0); + HEAP32[$911>>2] = $902; + $912 = ((($748)) + 12|0); + HEAP32[$912>>2] = $748; + $913 = ((($748)) + 8|0); + HEAP32[$913>>2] = $748; + break; + } + $914 = HEAP32[$902>>2]|0; + $915 = ($$0296$i$i|0)==(31); + $916 = $$0296$i$i >>> 1; + $917 = (25 - ($916))|0; + $918 = $915 ? 0 : $917; + $919 = $$0287$i$i << $918; + $$0288$i$i = $919;$$0289$i$i = $914; + while(1) { + $920 = ((($$0289$i$i)) + 4|0); + $921 = HEAP32[$920>>2]|0; + $922 = $921 & -8; + $923 = ($922|0)==($$0287$i$i|0); + if ($923) { + label = 280; + break; } - $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; + $924 = $$0288$i$i >>> 31; + $925 = (((($$0289$i$i)) + 16|0) + ($924<<2)|0); + $926 = $$0288$i$i << 1; + $927 = HEAP32[$925>>2]|0; + $928 = ($927|0)==(0|0); + if ($928) { + label = 277; break; } else { - _abort(); - // unreachable; + $$0288$i$i = $926;$$0289$i$i = $927; } } - } 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) { + if ((label|0) == 277) { + $929 = HEAP32[(35468)>>2]|0; + $930 = ($925>>>0)<($929>>>0); + if ($930) { _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; - } + HEAP32[$925>>2] = $748; + $931 = ((($748)) + 24|0); + HEAP32[$931>>2] = $$0289$i$i; + $932 = ((($748)) + 12|0); + HEAP32[$932>>2] = $748; + $933 = ((($748)) + 8|0); + HEAP32[$933>>2] = $748; + 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) { + else if ((label|0) == 280) { + $934 = ((($$0289$i$i)) + 8|0); + $935 = HEAP32[$934>>2]|0; + $936 = HEAP32[(35468)>>2]|0; + $937 = ($935>>>0)>=($936>>>0); + $not$7$i$i = ($$0289$i$i>>>0)>=($936>>>0); + $938 = $937 & $not$7$i$i; + if ($938) { + $939 = ((($935)) + 12|0); + HEAP32[$939>>2] = $748; + HEAP32[$934>>2] = $748; + $940 = ((($748)) + 8|0); + HEAP32[$940>>2] = $935; + $941 = ((($748)) + 12|0); + HEAP32[$941>>2] = $$0289$i$i; + $942 = ((($748)) + 24|0); + HEAP32[$942>>2] = 0; + break; + } else { _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; + } while(0); + $1074 = ((($736)) + 8|0); + $$2 = $1074; + break L230; + } } - $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; + $$0$i$i$i = (35928); + while(1) { + $943 = HEAP32[$$0$i$i$i>>2]|0; + $944 = ($943>>>0)>($657>>>0); + if (!($944)) { + $945 = ((($$0$i$i$i)) + 4|0); + $946 = HEAP32[$945>>2]|0; + $947 = (($943) + ($946)|0); + $948 = ($947>>>0)>($657>>>0); + if ($948) { 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; + $949 = ((($$0$i$i$i)) + 8|0); + $950 = HEAP32[$949>>2]|0; + $$0$i$i$i = $950; } - $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; + $951 = ((($947)) + -47|0); + $952 = ((($951)) + 8|0); + $953 = $952; + $954 = $953 & 7; + $955 = ($954|0)==(0); + $956 = (0 - ($953))|0; + $957 = $956 & 7; + $958 = $955 ? 0 : $957; + $959 = (($951) + ($958)|0); + $960 = ((($657)) + 16|0); + $961 = ($959>>>0)<($960>>>0); + $962 = $961 ? $657 : $959; + $963 = ((($962)) + 8|0); + $964 = ((($962)) + 24|0); + $965 = (($$7239$i) + -40)|0; + $966 = ((($$7$i)) + 8|0); + $967 = $966; + $968 = $967 & 7; + $969 = ($968|0)==(0); + $970 = (0 - ($967))|0; + $971 = $970 & 7; + $972 = $969 ? 0 : $971; + $973 = (($$7$i) + ($972)|0); + $974 = (($965) - ($972))|0; + HEAP32[(35476)>>2] = $973; + HEAP32[(35464)>>2] = $974; + $975 = $974 | 1; + $976 = ((($973)) + 4|0); + HEAP32[$976>>2] = $975; + $977 = (($973) + ($974)|0); + $978 = ((($977)) + 4|0); + HEAP32[$978>>2] = 40; + $979 = HEAP32[(35416)>>2]|0; + HEAP32[(35480)>>2] = $979; + $980 = ((($962)) + 4|0); + HEAP32[$980>>2] = 27; + ;HEAP32[$963>>2]=HEAP32[(35928)>>2]|0;HEAP32[$963+4>>2]=HEAP32[(35928)+4>>2]|0;HEAP32[$963+8>>2]=HEAP32[(35928)+8>>2]|0;HEAP32[$963+12>>2]=HEAP32[(35928)+12>>2]|0; + HEAP32[(35928)>>2] = $$7$i; + HEAP32[(35932)>>2] = $$7239$i; + HEAP32[(35940)>>2] = 0; + HEAP32[(35936)>>2] = $963; + $982 = $964; 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; + $981 = ((($982)) + 4|0); + HEAP32[$981>>2] = 7; + $983 = ((($982)) + 8|0); + $984 = ($983>>>0)<($947>>>0); + if ($984) { + $982 = $981; } else { - $$0288$i$i = $899;$$0289$i$i = $900; + break; } } - 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; + $985 = ($962|0)==($657|0); + if (!($985)) { + $986 = $962; + $987 = $657; + $988 = (($986) - ($987))|0; + $989 = HEAP32[$980>>2]|0; + $990 = $989 & -2; + HEAP32[$980>>2] = $990; + $991 = $988 | 1; + $992 = ((($657)) + 4|0); + HEAP32[$992>>2] = $991; + HEAP32[$962>>2] = $988; + $993 = $988 >>> 3; + $994 = ($988>>>0)<(256); + if ($994) { + $995 = $993 << 1; + $996 = (35492 + ($995<<2)|0); + $997 = HEAP32[8863]|0; + $998 = 1 << $993; + $999 = $997 & $998; + $1000 = ($999|0)==(0); + do { + if ($1000) { + $1001 = $997 | $998; + HEAP32[8863] = $1001; + $$pre$i18$i = ((($996)) + 8|0); + $$0211$i$i = $996;$$pre$phi$i19$iZ2D = $$pre$i18$i; + } else { + $1002 = ((($996)) + 8|0); + $1003 = HEAP32[$1002>>2]|0; + $1004 = HEAP32[(35468)>>2]|0; + $1005 = ($1003>>>0)<($1004>>>0); + if (!($1005)) { + $$0211$i$i = $1003;$$pre$phi$i19$iZ2D = $1002; + break; + } + _abort(); + // unreachable; + } + } while(0); + HEAP32[$$pre$phi$i19$iZ2D>>2] = $657; + $1006 = ((($$0211$i$i)) + 12|0); + HEAP32[$1006>>2] = $657; + $1007 = ((($657)) + 8|0); + HEAP32[$1007>>2] = $$0211$i$i; + $1008 = ((($657)) + 12|0); + HEAP32[$1008>>2] = $996; 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; + $1009 = $988 >>> 8; + $1010 = ($1009|0)==(0); + do { + if ($1010) { + $$0212$i$i = 0; + } else { + $1011 = ($988>>>0)>(16777215); + if ($1011) { + $$0212$i$i = 31; + break; + } + $1012 = (($1009) + 1048320)|0; + $1013 = $1012 >>> 16; + $1014 = $1013 & 8; + $1015 = $1009 << $1014; + $1016 = (($1015) + 520192)|0; + $1017 = $1016 >>> 16; + $1018 = $1017 & 4; + $1019 = $1018 | $1014; + $1020 = $1015 << $1018; + $1021 = (($1020) + 245760)|0; + $1022 = $1021 >>> 16; + $1023 = $1022 & 2; + $1024 = $1019 | $1023; + $1025 = (14 - ($1024))|0; + $1026 = $1020 << $1023; + $1027 = $1026 >>> 15; + $1028 = (($1025) + ($1027))|0; + $1029 = $1028 << 1; + $1030 = (($1028) + 7)|0; + $1031 = $988 >>> $1030; + $1032 = $1031 & 1; + $1033 = $1032 | $1029; + $$0212$i$i = $1033; + } + } while(0); + $1034 = (35756 + ($$0212$i$i<<2)|0); + $1035 = ((($657)) + 28|0); + HEAP32[$1035>>2] = $$0212$i$i; + $1036 = ((($657)) + 20|0); + HEAP32[$1036>>2] = 0; + HEAP32[$960>>2] = 0; + $1037 = HEAP32[(35456)>>2]|0; + $1038 = 1 << $$0212$i$i; + $1039 = $1037 & $1038; + $1040 = ($1039|0)==(0); + if ($1040) { + $1041 = $1037 | $1038; + HEAP32[(35456)>>2] = $1041; + HEAP32[$1034>>2] = $657; + $1042 = ((($657)) + 24|0); + HEAP32[$1042>>2] = $1034; + $1043 = ((($657)) + 12|0); + HEAP32[$1043>>2] = $657; + $1044 = ((($657)) + 8|0); + HEAP32[$1044>>2] = $657; 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; + $1045 = HEAP32[$1034>>2]|0; + $1046 = ($$0212$i$i|0)==(31); + $1047 = $$0212$i$i >>> 1; + $1048 = (25 - ($1047))|0; + $1049 = $1046 ? 0 : $1048; + $1050 = $988 << $1049; + $$0206$i$i = $1050;$$0207$i$i = $1045; + while(1) { + $1051 = ((($$0207$i$i)) + 4|0); + $1052 = HEAP32[$1051>>2]|0; + $1053 = $1052 & -8; + $1054 = ($1053|0)==($988|0); + if ($1054) { + label = 307; + break; + } + $1055 = $$0206$i$i >>> 31; + $1056 = (((($$0207$i$i)) + 16|0) + ($1055<<2)|0); + $1057 = $$0206$i$i << 1; + $1058 = HEAP32[$1056>>2]|0; + $1059 = ($1058|0)==(0|0); + if ($1059) { + label = 304; + break; + } else { + $$0206$i$i = $1057;$$0207$i$i = $1058; + } + } + if ((label|0) == 304) { + $1060 = HEAP32[(35468)>>2]|0; + $1061 = ($1056>>>0)<($1060>>>0); + if ($1061) { + _abort(); + // unreachable; + } else { + HEAP32[$1056>>2] = $657; + $1062 = ((($657)) + 24|0); + HEAP32[$1062>>2] = $$0207$i$i; + $1063 = ((($657)) + 12|0); + HEAP32[$1063>>2] = $657; + $1064 = ((($657)) + 8|0); + HEAP32[$1064>>2] = $657; + break; + } + } + else if ((label|0) == 307) { + $1065 = ((($$0207$i$i)) + 8|0); + $1066 = HEAP32[$1065>>2]|0; + $1067 = HEAP32[(35468)>>2]|0; + $1068 = ($1066>>>0)>=($1067>>>0); + $not$$i21$i = ($$0207$i$i>>>0)>=($1067>>>0); + $1069 = $1068 & $not$$i21$i; + if ($1069) { + $1070 = ((($1066)) + 12|0); + HEAP32[$1070>>2] = $657; + HEAP32[$1065>>2] = $657; + $1071 = ((($657)) + 8|0); + HEAP32[$1071>>2] = $1066; + $1072 = ((($657)) + 12|0); + HEAP32[$1072>>2] = $$0207$i$i; + $1073 = ((($657)) + 24|0); + HEAP32[$1073>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } + } + } + } while(0); + $1075 = HEAP32[(35464)>>2]|0; + $1076 = ($1075>>>0)>($$0198>>>0); + if ($1076) { + $1077 = (($1075) - ($$0198))|0; + HEAP32[(35464)>>2] = $1077; + $1078 = HEAP32[(35476)>>2]|0; + $1079 = (($1078) + ($$0198)|0); + HEAP32[(35476)>>2] = $1079; + $1080 = $1077 | 1; + $1081 = ((($1079)) + 4|0); + HEAP32[$1081>>2] = $1080; + $1082 = $$0198 | 3; + $1083 = ((($1078)) + 4|0); + HEAP32[$1083>>2] = $1082; + $1084 = ((($1078)) + 8|0); + $$2 = $1084; 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; - } } + $1085 = (___errno_location()|0); + HEAP32[$1085>>2] = 12; + $$2 = 0; + } else { + $$2 = 0; } - } else { - $$1 = $2;$$1382 = $9;$113 = $2; } } while(0); - $112 = ($113>>>0)<($10>>>0); - if (!($112)) { + $1086 = HEAP32[(35896)>>2]|0; + $1087 = $1086 & 2; + $1088 = ($1087|0)==(0); + if ($1088) { + $$1 = $$2; + STACKTOP = sp;return ($$1|0); + } + (___pthread_mutex_unlock((35900))|0); + $$1 = $$2; + STACKTOP = sp;return ($$1|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, $319 = 0, $32 = 0, $320 = 0, $321 = 0, $322 = 0, $323 = 0, $324 = 0, $325 = 0, $326 = 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, $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[(35896)>>2]|0; + $4 = $3 & 2; + $5 = ($4|0)==(0); + if (!($5)) { + $6 = (___pthread_mutex_lock((35900))|0); + $7 = ($6|0)==(0); + if (!($7)) { + return; + } + } + $8 = HEAP32[(35468)>>2]|0; + $9 = ($2>>>0)<($8>>>0); + if ($9) { _abort(); // unreachable; } - $114 = ((($10)) + 4|0); - $115 = HEAP32[$114>>2]|0; - $116 = $115 & 1; - $117 = ($116|0)==(0); - if ($117) { + $10 = ((($0)) + -4|0); + $11 = HEAP32[$10>>2]|0; + $12 = $11 & 3; + $13 = ($12|0)==(1); + if ($13) { _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; - } + $14 = $11 & -8; + $15 = (($2) + ($14)|0); + $16 = $11 & 1; + $17 = ($16|0)==(0); + L14: do { + if ($17) { + $18 = HEAP32[$2>>2]|0; + $19 = ($12|0)==(0); + if (!($19)) { + $20 = (0 - ($18))|0; + $21 = (($2) + ($20)|0); + $22 = (($18) + ($14))|0; + $23 = ($21>>>0)<($8>>>0); + if ($23) { + _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; + $24 = HEAP32[(35472)>>2]|0; + $25 = ($21|0)==($24|0); + if ($25) { + $109 = ((($15)) + 4|0); + $110 = HEAP32[$109>>2]|0; + $111 = $110 & 3; + $112 = ($111|0)==(3); + if (!($112)) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $113 = (($21) + ($22)|0); + $114 = ((($21)) + 4|0); + $115 = $22 | 1; + $116 = $110 & -2; + HEAP32[(35460)>>2] = $22; + HEAP32[$109>>2] = $116; + HEAP32[$114>>2] = $115; + HEAP32[$113>>2] = $22; 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; + $26 = $18 >>> 3; + $27 = ($18>>>0)<(256); + if ($27) { + $28 = ((($21)) + 8|0); + $29 = HEAP32[$28>>2]|0; + $30 = ((($21)) + 12|0); + $31 = HEAP32[$30>>2]|0; + $32 = $26 << 1; + $33 = (35492 + ($32<<2)|0); + $34 = ($29|0)==($33|0); + if (!($34)) { + $35 = ($29>>>0)<($8>>>0); + if ($35) { + _abort(); + // unreachable; + } + $36 = ((($29)) + 12|0); + $37 = HEAP32[$36>>2]|0; + $38 = ($37|0)==($21|0); + if (!($38)) { + _abort(); + // unreachable; + } } - $158 = ((($141)) + 8|0); - $159 = HEAP32[$158>>2]|0; - $160 = ($159|0)==($10|0); - if ($160) { - $$pre$phi443Z2D = $158; + $39 = ($31|0)==($29|0); + if ($39) { + $40 = 1 << $26; + $41 = $40 ^ -1; + $42 = HEAP32[8863]|0; + $43 = $42 & $41; + HEAP32[8863] = $43; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; + } + $44 = ($31|0)==($33|0); + if ($44) { + $$pre444 = ((($31)) + 8|0); + $$pre$phi445Z2D = $$pre444; } else { - _abort(); - // unreachable; + $45 = ($31>>>0)<($8>>>0); + if ($45) { + _abort(); + // unreachable; + } + $46 = ((($31)) + 8|0); + $47 = HEAP32[$46>>2]|0; + $48 = ($47|0)==($21|0); + if ($48) { + $$pre$phi445Z2D = $46; + } else { + _abort(); + // unreachable; + } } + $49 = ((($29)) + 12|0); + HEAP32[$49>>2] = $31; + HEAP32[$$pre$phi445Z2D>>2] = $29; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break; } - $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); + $50 = ((($21)) + 24|0); + $51 = HEAP32[$50>>2]|0; + $52 = ((($21)) + 12|0); + $53 = HEAP32[$52>>2]|0; + $54 = ($53|0)==($21|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; + if ($54) { + $64 = ((($21)) + 16|0); + $65 = ((($64)) + 4|0); + $66 = HEAP32[$65>>2]|0; + $67 = ($66|0)==(0|0); + if ($67) { + $68 = HEAP32[$64>>2]|0; + $69 = ($68|0)==(0|0); + if ($69) { + $$3 = 0; break; } else { - $$1398 = $181;$$1402 = $177; + $$1387 = $68;$$1390 = $64; } } else { - $$1398 = $179;$$1402 = $178; + $$1387 = $66;$$1390 = $65; } while(1) { - $183 = ((($$1398)) + 20|0); - $184 = HEAP32[$183>>2]|0; - $185 = ($184|0)==(0|0); - if (!($185)) { - $$1398 = $184;$$1402 = $183; + $70 = ((($$1387)) + 20|0); + $71 = HEAP32[$70>>2]|0; + $72 = ($71|0)==(0|0); + if (!($72)) { + $$1387 = $71;$$1390 = $70; continue; } - $186 = ((($$1398)) + 16|0); - $187 = HEAP32[$186>>2]|0; - $188 = ($187|0)==(0|0); - if ($188) { + $73 = ((($$1387)) + 16|0); + $74 = HEAP32[$73>>2]|0; + $75 = ($74|0)==(0|0); + if ($75) { break; } else { - $$1398 = $187;$$1402 = $186; + $$1387 = $74;$$1390 = $73; } } - $189 = HEAP32[(33032)>>2]|0; - $190 = ($$1402>>>0)<($189>>>0); - if ($190) { + $76 = ($$1390>>>0)<($8>>>0); + if ($76) { _abort(); // unreachable; } else { - HEAP32[$$1402>>2] = 0; - $$3400 = $$1398; + HEAP32[$$1390>>2] = 0; + $$3 = $$1387; break; } } else { - $167 = ((($10)) + 8|0); - $168 = HEAP32[$167>>2]|0; - $169 = HEAP32[(33032)>>2]|0; - $170 = ($168>>>0)<($169>>>0); - if ($170) { + $55 = ((($21)) + 8|0); + $56 = HEAP32[$55>>2]|0; + $57 = ($56>>>0)<($8>>>0); + if ($57) { _abort(); // unreachable; } - $171 = ((($168)) + 12|0); - $172 = HEAP32[$171>>2]|0; - $173 = ($172|0)==($10|0); - if (!($173)) { + $58 = ((($56)) + 12|0); + $59 = HEAP32[$58>>2]|0; + $60 = ($59|0)==($21|0); + if (!($60)) { _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; + $61 = ((($53)) + 8|0); + $62 = HEAP32[$61>>2]|0; + $63 = ($62|0)==($21|0); + if ($63) { + HEAP32[$58>>2] = $53; + HEAP32[$61>>2] = $56; + $$3 = $53; break; } else { _abort(); @@ -26739,298 +32840,600 @@ function _free($0) { } } } 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); + $77 = ($51|0)==(0|0); + if ($77) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $78 = ((($21)) + 28|0); + $79 = HEAP32[$78>>2]|0; + $80 = (35756 + ($79<<2)|0); + $81 = HEAP32[$80>>2]|0; + $82 = ($21|0)==($81|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; + if ($82) { + HEAP32[$80>>2] = $$3; + $cond421 = ($$3|0)==(0|0); + if ($cond421) { + $83 = 1 << $79; + $84 = $83 ^ -1; + $85 = HEAP32[(35456)>>2]|0; + $86 = $85 & $84; + HEAP32[(35456)>>2] = $86; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; } } else { - $201 = HEAP32[(33032)>>2]|0; - $202 = ($163>>>0)<($201>>>0); - if ($202) { + $87 = HEAP32[(35468)>>2]|0; + $88 = ($51>>>0)<($87>>>0); + if ($88) { _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; + $89 = ((($51)) + 16|0); + $90 = HEAP32[$89>>2]|0; + $not$405 = ($90|0)!=($21|0); + $$sink3 = $not$405&1; + $91 = (((($51)) + 16|0) + ($$sink3<<2)|0); + HEAP32[$91>>2] = $$3; + $92 = ($$3|0)==(0|0); + if ($92) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + break L14; } else { break; } } } } while(0); - $207 = HEAP32[(33032)>>2]|0; - $208 = ($$3400>>>0)<($207>>>0); - if ($208) { + $93 = HEAP32[(35468)>>2]|0; + $94 = ($$3>>>0)<($93>>>0); + if ($94) { _abort(); // unreachable; } - $209 = ((($$3400)) + 24|0); - HEAP32[$209>>2] = $163; - $210 = ((($10)) + 16|0); - $211 = HEAP32[$210>>2]|0; - $212 = ($211|0)==(0|0); + $95 = ((($$3)) + 24|0); + HEAP32[$95>>2] = $51; + $96 = ((($21)) + 16|0); + $97 = HEAP32[$96>>2]|0; + $98 = ($97|0)==(0|0); do { - if (!($212)) { - $213 = ($211>>>0)<($207>>>0); - if ($213) { + if (!($98)) { + $99 = ($97>>>0)<($93>>>0); + if ($99) { _abort(); // unreachable; } else { - $214 = ((($$3400)) + 16|0); - HEAP32[$214>>2] = $211; - $215 = ((($211)) + 24|0); - HEAP32[$215>>2] = $$3400; + $100 = ((($$3)) + 16|0); + HEAP32[$100>>2] = $97; + $101 = ((($97)) + 24|0); + HEAP32[$101>>2] = $$3; 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) { + $102 = ((($96)) + 4|0); + $103 = HEAP32[$102>>2]|0; + $104 = ($103|0)==(0|0); + if ($104) { + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; + } else { + $105 = HEAP32[(35468)>>2]|0; + $106 = ($103>>>0)<($105>>>0); + if ($106) { _abort(); // unreachable; } else { - $221 = ((($$3400)) + 20|0); - HEAP32[$221>>2] = $217; - $222 = ((($217)) + 24|0); - HEAP32[$222>>2] = $$3400; + $107 = ((($$3)) + 20|0); + HEAP32[$107>>2] = $103; + $108 = ((($103)) + 24|0); + HEAP32[$108>>2] = $$3; + $$1 = $21;$$1382 = $22;$118 = $21; + label = 55; 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; + $$1 = $2;$$1382 = $14;$118 = $2; + label = 55; } - } 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) { + } while(0); + do { + if ((label|0) == 55) { + $117 = ($118>>>0)<($15>>>0); + if (!($117)) { _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; + $119 = ((($15)) + 4|0); + $120 = HEAP32[$119>>2]|0; + $121 = $120 & 1; + $122 = ($121|0)==(0); + if ($122) { + _abort(); + // unreachable; + } + $123 = $120 & 2; + $124 = ($123|0)==(0); + if ($124) { + $125 = HEAP32[(35476)>>2]|0; + $126 = ($15|0)==($125|0); + $127 = HEAP32[(35472)>>2]|0; + if ($126) { + $128 = HEAP32[(35464)>>2]|0; + $129 = (($128) + ($$1382))|0; + HEAP32[(35464)>>2] = $129; + HEAP32[(35476)>>2] = $$1; + $130 = $129 | 1; + $131 = ((($$1)) + 4|0); + HEAP32[$131>>2] = $130; + $132 = ($$1|0)==($127|0); + if (!($132)) { + break; + } + HEAP32[(35472)>>2] = 0; + HEAP32[(35460)>>2] = 0; 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; + $133 = ($15|0)==($127|0); + if ($133) { + $134 = HEAP32[(35460)>>2]|0; + $135 = (($134) + ($$1382))|0; + HEAP32[(35460)>>2] = $135; + HEAP32[(35472)>>2] = $118; + $136 = $135 | 1; + $137 = ((($$1)) + 4|0); + HEAP32[$137>>2] = $136; + $138 = (($118) + ($135)|0); + HEAP32[$138>>2] = $135; + break; + } + $139 = $120 & -8; + $140 = (($139) + ($$1382))|0; + $141 = $120 >>> 3; + $142 = ($120>>>0)<(256); + L106: do { + if ($142) { + $143 = ((($15)) + 8|0); + $144 = HEAP32[$143>>2]|0; + $145 = ((($15)) + 12|0); + $146 = HEAP32[$145>>2]|0; + $147 = $141 << 1; + $148 = (35492 + ($147<<2)|0); + $149 = ($144|0)==($148|0); + if (!($149)) { + $150 = HEAP32[(35468)>>2]|0; + $151 = ($144>>>0)<($150>>>0); + if ($151) { + _abort(); + // unreachable; + } + $152 = ((($144)) + 12|0); + $153 = HEAP32[$152>>2]|0; + $154 = ($153|0)==($15|0); + if (!($154)) { + _abort(); + // unreachable; + } + } + $155 = ($146|0)==($144|0); + if ($155) { + $156 = 1 << $141; + $157 = $156 ^ -1; + $158 = HEAP32[8863]|0; + $159 = $158 & $157; + HEAP32[8863] = $159; + break; + } + $160 = ($146|0)==($148|0); + if ($160) { + $$pre442 = ((($146)) + 8|0); + $$pre$phi443Z2D = $$pre442; + } else { + $161 = HEAP32[(35468)>>2]|0; + $162 = ($146>>>0)<($161>>>0); + if ($162) { + _abort(); + // unreachable; + } + $163 = ((($146)) + 8|0); + $164 = HEAP32[$163>>2]|0; + $165 = ($164|0)==($15|0); + if ($165) { + $$pre$phi443Z2D = $163; + } else { + _abort(); + // unreachable; + } + } + $166 = ((($144)) + 12|0); + HEAP32[$166>>2] = $146; + HEAP32[$$pre$phi443Z2D>>2] = $144; + } else { + $167 = ((($15)) + 24|0); + $168 = HEAP32[$167>>2]|0; + $169 = ((($15)) + 12|0); + $170 = HEAP32[$169>>2]|0; + $171 = ($170|0)==($15|0); + do { + if ($171) { + $182 = ((($15)) + 16|0); + $183 = ((($182)) + 4|0); + $184 = HEAP32[$183>>2]|0; + $185 = ($184|0)==(0|0); + if ($185) { + $186 = HEAP32[$182>>2]|0; + $187 = ($186|0)==(0|0); + if ($187) { + $$3400 = 0; + break; + } else { + $$1398 = $186;$$1402 = $182; + } + } else { + $$1398 = $184;$$1402 = $183; + } + while(1) { + $188 = ((($$1398)) + 20|0); + $189 = HEAP32[$188>>2]|0; + $190 = ($189|0)==(0|0); + if (!($190)) { + $$1398 = $189;$$1402 = $188; + continue; + } + $191 = ((($$1398)) + 16|0); + $192 = HEAP32[$191>>2]|0; + $193 = ($192|0)==(0|0); + if ($193) { + break; + } else { + $$1398 = $192;$$1402 = $191; + } + } + $194 = HEAP32[(35468)>>2]|0; + $195 = ($$1402>>>0)<($194>>>0); + if ($195) { + _abort(); + // unreachable; + } else { + HEAP32[$$1402>>2] = 0; + $$3400 = $$1398; + break; + } + } else { + $172 = ((($15)) + 8|0); + $173 = HEAP32[$172>>2]|0; + $174 = HEAP32[(35468)>>2]|0; + $175 = ($173>>>0)<($174>>>0); + if ($175) { + _abort(); + // unreachable; + } + $176 = ((($173)) + 12|0); + $177 = HEAP32[$176>>2]|0; + $178 = ($177|0)==($15|0); + if (!($178)) { + _abort(); + // unreachable; + } + $179 = ((($170)) + 8|0); + $180 = HEAP32[$179>>2]|0; + $181 = ($180|0)==($15|0); + if ($181) { + HEAP32[$176>>2] = $170; + HEAP32[$179>>2] = $173; + $$3400 = $170; + break; + } else { + _abort(); + // unreachable; + } + } + } while(0); + $196 = ($168|0)==(0|0); + if (!($196)) { + $197 = ((($15)) + 28|0); + $198 = HEAP32[$197>>2]|0; + $199 = (35756 + ($198<<2)|0); + $200 = HEAP32[$199>>2]|0; + $201 = ($15|0)==($200|0); + do { + if ($201) { + HEAP32[$199>>2] = $$3400; + $cond422 = ($$3400|0)==(0|0); + if ($cond422) { + $202 = 1 << $198; + $203 = $202 ^ -1; + $204 = HEAP32[(35456)>>2]|0; + $205 = $204 & $203; + HEAP32[(35456)>>2] = $205; + break L106; + } + } else { + $206 = HEAP32[(35468)>>2]|0; + $207 = ($168>>>0)<($206>>>0); + if ($207) { + _abort(); + // unreachable; + } else { + $208 = ((($168)) + 16|0); + $209 = HEAP32[$208>>2]|0; + $not$ = ($209|0)!=($15|0); + $$sink5 = $not$&1; + $210 = (((($168)) + 16|0) + ($$sink5<<2)|0); + HEAP32[$210>>2] = $$3400; + $211 = ($$3400|0)==(0|0); + if ($211) { + break L106; + } else { + break; + } + } + } + } while(0); + $212 = HEAP32[(35468)>>2]|0; + $213 = ($$3400>>>0)<($212>>>0); + if ($213) { + _abort(); + // unreachable; + } + $214 = ((($$3400)) + 24|0); + HEAP32[$214>>2] = $168; + $215 = ((($15)) + 16|0); + $216 = HEAP32[$215>>2]|0; + $217 = ($216|0)==(0|0); + do { + if (!($217)) { + $218 = ($216>>>0)<($212>>>0); + if ($218) { + _abort(); + // unreachable; + } else { + $219 = ((($$3400)) + 16|0); + HEAP32[$219>>2] = $216; + $220 = ((($216)) + 24|0); + HEAP32[$220>>2] = $$3400; + break; + } + } + } while(0); + $221 = ((($215)) + 4|0); + $222 = HEAP32[$221>>2]|0; + $223 = ($222|0)==(0|0); + if (!($223)) { + $224 = HEAP32[(35468)>>2]|0; + $225 = ($222>>>0)<($224>>>0); + if ($225) { + _abort(); + // unreachable; + } else { + $226 = ((($$3400)) + 20|0); + HEAP32[$226>>2] = $222; + $227 = ((($222)) + 24|0); + HEAP32[$227>>2] = $$3400; + break; + } + } + } + } + } while(0); + $228 = $140 | 1; + $229 = ((($$1)) + 4|0); + HEAP32[$229>>2] = $228; + $230 = (($118) + ($140)|0); + HEAP32[$230>>2] = $140; + $231 = HEAP32[(35472)>>2]|0; + $232 = ($$1|0)==($231|0); + if ($232) { + HEAP32[(35460)>>2] = $140; break; } else { - $$0383 = $297;$$0384 = $298; + $$2 = $140; + } + } else { + $233 = $120 & -2; + HEAP32[$119>>2] = $233; + $234 = $$1382 | 1; + $235 = ((($$1)) + 4|0); + HEAP32[$235>>2] = $234; + $236 = (($118) + ($$1382)|0); + HEAP32[$236>>2] = $$1382; + $$2 = $$1382; + } + $237 = $$2 >>> 3; + $238 = ($$2>>>0)<(256); + if ($238) { + $239 = $237 << 1; + $240 = (35492 + ($239<<2)|0); + $241 = HEAP32[8863]|0; + $242 = 1 << $237; + $243 = $241 & $242; + $244 = ($243|0)==(0); + if ($244) { + $245 = $241 | $242; + HEAP32[8863] = $245; + $$pre = ((($240)) + 8|0); + $$0403 = $240;$$pre$phiZ2D = $$pre; + } else { + $246 = ((($240)) + 8|0); + $247 = HEAP32[$246>>2]|0; + $248 = HEAP32[(35468)>>2]|0; + $249 = ($247>>>0)<($248>>>0); + if ($249) { + _abort(); + // unreachable; + } else { + $$0403 = $247;$$pre$phiZ2D = $246; + } } + HEAP32[$$pre$phiZ2D>>2] = $$1; + $250 = ((($$0403)) + 12|0); + HEAP32[$250>>2] = $$1; + $251 = ((($$1)) + 8|0); + HEAP32[$251>>2] = $$0403; + $252 = ((($$1)) + 12|0); + HEAP32[$252>>2] = $240; + break; } - if ((label|0) == 121) { - $300 = HEAP32[(33032)>>2]|0; - $301 = ($296>>>0)<($300>>>0); - if ($301) { - _abort(); - // unreachable; + $253 = $$2 >>> 8; + $254 = ($253|0)==(0); + if ($254) { + $$0396 = 0; + } else { + $255 = ($$2>>>0)>(16777215); + if ($255) { + $$0396 = 31; } 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; + $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 = $$2 >>> $274; + $276 = $275 & 1; + $277 = $276 | $273; + $$0396 = $277; + } + } + $278 = (35756 + ($$0396<<2)|0); + $279 = ((($$1)) + 28|0); + HEAP32[$279>>2] = $$0396; + $280 = ((($$1)) + 16|0); + $281 = ((($$1)) + 20|0); + HEAP32[$281>>2] = 0; + HEAP32[$280>>2] = 0; + $282 = HEAP32[(35456)>>2]|0; + $283 = 1 << $$0396; + $284 = $282 & $283; + $285 = ($284|0)==(0); + do { + if ($285) { + $286 = $282 | $283; + HEAP32[(35456)>>2] = $286; + HEAP32[$278>>2] = $$1; + $287 = ((($$1)) + 24|0); + HEAP32[$287>>2] = $278; + $288 = ((($$1)) + 12|0); + HEAP32[$288>>2] = $$1; + $289 = ((($$1)) + 8|0); + HEAP32[$289>>2] = $$1; + } else { + $290 = HEAP32[$278>>2]|0; + $291 = ($$0396|0)==(31); + $292 = $$0396 >>> 1; + $293 = (25 - ($292))|0; + $294 = $291 ? 0 : $293; + $295 = $$2 << $294; + $$0383 = $295;$$0384 = $290; + while(1) { + $296 = ((($$0384)) + 4|0); + $297 = HEAP32[$296>>2]|0; + $298 = $297 & -8; + $299 = ($298|0)==($$2|0); + if ($299) { + label = 126; + break; + } + $300 = $$0383 >>> 31; + $301 = (((($$0384)) + 16|0) + ($300<<2)|0); + $302 = $$0383 << 1; + $303 = HEAP32[$301>>2]|0; + $304 = ($303|0)==(0|0); + if ($304) { + label = 123; + break; + } else { + $$0383 = $302;$$0384 = $303; + } + } + if ((label|0) == 123) { + $305 = HEAP32[(35468)>>2]|0; + $306 = ($301>>>0)<($305>>>0); + if ($306) { + _abort(); + // unreachable; + } else { + HEAP32[$301>>2] = $$1; + $307 = ((($$1)) + 24|0); + HEAP32[$307>>2] = $$0384; + $308 = ((($$1)) + 12|0); + HEAP32[$308>>2] = $$1; + $309 = ((($$1)) + 8|0); + HEAP32[$309>>2] = $$1; + break; + } + } + else if ((label|0) == 126) { + $310 = ((($$0384)) + 8|0); + $311 = HEAP32[$310>>2]|0; + $312 = HEAP32[(35468)>>2]|0; + $313 = ($311>>>0)>=($312>>>0); + $not$437 = ($$0384>>>0)>=($312>>>0); + $314 = $313 & $not$437; + if ($314) { + $315 = ((($311)) + 12|0); + HEAP32[$315>>2] = $$1; + HEAP32[$310>>2] = $$1; + $316 = ((($$1)) + 8|0); + HEAP32[$316>>2] = $311; + $317 = ((($$1)) + 12|0); + HEAP32[$317>>2] = $$0384; + $318 = ((($$1)) + 24|0); + HEAP32[$318>>2] = 0; + break; + } else { + _abort(); + // unreachable; + } + } } - } - 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); + $319 = HEAP32[(35484)>>2]|0; + $320 = (($319) + -1)|0; + HEAP32[(35484)>>2] = $320; + $321 = ($320|0)==(0); + if ($321) { + $$0212$in$i = (35936); + while(1) { + $$0212$i = HEAP32[$$0212$in$i>>2]|0; + $322 = ($$0212$i|0)==(0|0); + $323 = ((($$0212$i)) + 8|0); + if ($322) { + break; + } else { + $$0212$in$i = $323; + } } + HEAP32[(35484)>>2] = -1; } } } 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 { + $324 = HEAP32[(35896)>>2]|0; + $325 = $324 & 2; + $326 = ($325|0)==(0); + if ($326) { 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; + (___pthread_mutex_unlock((35900))|0); return; } function runPostSets() { @@ -27464,6 +33867,9 @@ function _roundf(f) { f = +f; return f >= +0 ? +Math_floor(f + +0.5) : +Math_ceil(f - +0.5); // TODO: use fround? } +function _emscripten_set_current_thread_status(newStatus) { + newStatus = newStatus|0; +} function _bitshift64Lshr(low, high, bits) { low = low|0; high = high|0; bits = bits|0; var ander = 0; @@ -27475,6 +33881,10 @@ function _bitshift64Lshr(low, high, bits) { tempRet0 = 0; return (high >>> (bits - 32))|0; } +function _emscripten_conditional_set_current_thread_status(expectedStatus, newStatus) { + expectedStatus = expectedStatus|0; + newStatus = newStatus|0; +} function _sbrk(increment) { increment = increment|0; var oldDynamicTop = 0; @@ -27482,25 +33892,24 @@ function _sbrk(increment) { 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; + + // Perform a compare-and-swap loop to update the new dynamic top value. This is because + // this function can becalled simultaneously in multiple threads. + do { + oldDynamicTop = Atomics_load(HEAP32, DYNAMICTOP_PTR>>2)|0; + newDynamicTop = oldDynamicTop + increment | 0; + // Asking to increase dynamic top to a too high value? In pthreads builds we cannot + // enlarge memory, so this needs to fail. + 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. + | (newDynamicTop|0) > (totalMemory|0)) { + abortOnCannotGrowMemory()|0; } - } + // Attempt to update the dynamic top to new value. Another thread may have beat this thread to the update, + // in which case we will need to start over by iterating the loop body again. + oldDynamicTopOnChange = Atomics_compareExchange(HEAP32, DYNAMICTOP_PTR>>2, oldDynamicTop|0, newDynamicTop|0)|0; + } while((oldDynamicTopOnChange|0) != (oldDynamicTop|0)); return oldDynamicTop|0; } function _bitshift64Shl(low, high, bits) { @@ -28275,7 +34684,7 @@ var FUNCTION_TABLE_vii = [b4,_ErrorCallback,_CursorEnterCallback,_CharCallback,_ 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_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]; @@ -28288,25 +34697,43 @@ var FUNCTION_TABLE_i = [b17,_emscripten_glCreateProgram__wrapper,_emscripten_glG 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_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 }; + return { _emscripten_sync_run_in_main_thread_3: _emscripten_sync_run_in_main_thread_3, _roundf: _roundf, _bitshift64Shl: _bitshift64Shl, _emscripten_atomic_load_f32: _emscripten_atomic_load_f32, ___uremdi3: ___uremdi3, ___udivdi3: ___udivdi3, _emscripten_atomic_xor_u64: _emscripten_atomic_xor_u64, _llvm_cttz_i32: _llvm_cttz_i32, _bitshift64Lshr: _bitshift64Lshr, _emscripten_atomic_and_u64: _emscripten_atomic_and_u64, _emscripten_sync_run_in_main_thread: _emscripten_sync_run_in_main_thread, _emscripten_sync_run_in_main_thread_4: _emscripten_sync_run_in_main_thread_4, _emscripten_sync_run_in_main_thread_5: _emscripten_sync_run_in_main_thread_5, _emscripten_sync_run_in_main_thread_6: _emscripten_sync_run_in_main_thread_6, _emscripten_sync_run_in_main_thread_7: _emscripten_sync_run_in_main_thread_7, _emscripten_sync_run_in_main_thread_0: _emscripten_sync_run_in_main_thread_0, _emscripten_sync_run_in_main_thread_1: _emscripten_sync_run_in_main_thread_1, _emscripten_sync_run_in_main_thread_2: _emscripten_sync_run_in_main_thread_2, __emscripten_atomic_fetch_and_sub_u64: __emscripten_atomic_fetch_and_sub_u64, _emscripten_atomic_exchange_u32: _emscripten_atomic_exchange_u32, _fflush: _fflush, _emscripten_set_current_thread_status: _emscripten_set_current_thread_status, _emscripten_atomic_cas_u64: _emscripten_atomic_cas_u64, _memset: _memset, _emscripten_atomic_sub_u64: _emscripten_atomic_sub_u64, _emscripten_sync_run_in_main_thread_xprintf_varargs: _emscripten_sync_run_in_main_thread_xprintf_varargs, _i64Subtract: _i64Subtract, _llvm_bswap_i32: _llvm_bswap_i32, ___muldi3: ___muldi3, __emscripten_atomic_fetch_and_and_u64: __emscripten_atomic_fetch_and_and_u64, _emscripten_atomic_add_u64: _emscripten_atomic_add_u64, _emscripten_atomic_store_f64: _emscripten_atomic_store_f64, ___muldsi3: ___muldsi3, __emscripten_atomic_fetch_and_xor_u64: __emscripten_atomic_fetch_and_xor_u64, ___udivmoddi4: ___udivmoddi4, _i64Add: _i64Add, _emscripten_atomic_store_u64: _emscripten_atomic_store_u64, _emscripten_atomic_load_f64: _emscripten_atomic_load_f64, _emscripten_get_global_libc: _emscripten_get_global_libc, __emscripten_atomic_fetch_and_add_u64: __emscripten_atomic_fetch_and_add_u64, __emscripten_atomic_fetch_and_or_u64: __emscripten_atomic_fetch_and_or_u64, _emscripten_GetProcAddress: _emscripten_GetProcAddress, _emscripten_async_run_in_main_thread: _emscripten_async_run_in_main_thread, ___errno_location: ___errno_location, _main: _main, _emscripten_main_thread_process_queued_calls: _emscripten_main_thread_process_queued_calls, _emscripten_atomic_load_u64: _emscripten_atomic_load_u64, _free: _free, _emscripten_atomic_store_f32: _emscripten_atomic_store_f32, _emscripten_atomic_exchange_u64: _emscripten_atomic_exchange_u64, _memmove: _memmove, ___pthread_tsd_run_dtors: ___pthread_tsd_run_dtors, _malloc: _malloc, _memcpy: _memcpy, _emscripten_conditional_set_current_thread_status: _emscripten_conditional_set_current_thread_status, _sbrk: _sbrk, _emscripten_atomic_or_u64: _emscripten_atomic_or_u64, _strstr: _strstr, ___emscripten_pthread_data_constructor: ___emscripten_pthread_data_constructor, 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___emscripten_atomic_fetch_and_xor_u64 = asm["__emscripten_atomic_fetch_and_xor_u64"]; asm["__emscripten_atomic_fetch_and_xor_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_xor_u64.apply(null, arguments); +}; + 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() { +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__main.apply(null, arguments); +return real__bitshift64Shl.apply(null, arguments); +}; + +var real__emscripten_atomic_load_f32 = asm["_emscripten_atomic_load_f32"]; asm["_emscripten_atomic_load_f32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_load_f32.apply(null, arguments); +}; + +var real____emscripten_pthread_data_constructor = asm["___emscripten_pthread_data_constructor"]; asm["___emscripten_pthread_data_constructor"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_pthread_data_constructor.apply(null, arguments); }; var real_stackSave = asm["stackSave"]; asm["stackSave"] = function() { @@ -28315,16 +34742,22 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real_stackSave.apply(null, arguments); }; -var real_getTempRet0 = asm["getTempRet0"]; asm["getTempRet0"] = function() { +var real__emscripten_atomic_xor_u64 = asm["_emscripten_atomic_xor_u64"]; asm["_emscripten_atomic_xor_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_xor_u64.apply(null, arguments); }; -var real_setThrew = asm["setThrew"]; asm["setThrew"] = function() { +var real__emscripten_atomic_load_u64 = asm["_emscripten_atomic_load_u64"]; asm["_emscripten_atomic_load_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_load_u64.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__bitshift64Lshr = asm["_bitshift64Lshr"]; asm["_bitshift64Lshr"] = function() { @@ -28333,10 +34766,76 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real__bitshift64Lshr.apply(null, arguments); }; -var real__bitshift64Shl = asm["_bitshift64Shl"]; asm["_bitshift64Shl"] = function() { +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__bitshift64Shl.apply(null, arguments); +return real_getTempRet0.apply(null, arguments); +}; + +var real__emscripten_atomic_and_u64 = asm["_emscripten_atomic_and_u64"]; asm["_emscripten_atomic_and_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread = asm["_emscripten_sync_run_in_main_thread"]; asm["_emscripten_sync_run_in_main_thread"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_4 = asm["_emscripten_sync_run_in_main_thread_4"]; asm["_emscripten_sync_run_in_main_thread_4"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_4.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_5 = asm["_emscripten_sync_run_in_main_thread_5"]; asm["_emscripten_sync_run_in_main_thread_5"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_5.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_6 = asm["_emscripten_sync_run_in_main_thread_6"]; asm["_emscripten_sync_run_in_main_thread_6"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_6.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_7 = asm["_emscripten_sync_run_in_main_thread_7"]; asm["_emscripten_sync_run_in_main_thread_7"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_7.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_0 = asm["_emscripten_sync_run_in_main_thread_0"]; asm["_emscripten_sync_run_in_main_thread_0"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_0.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_1 = asm["_emscripten_sync_run_in_main_thread_1"]; asm["_emscripten_sync_run_in_main_thread_1"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_1.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_2 = asm["_emscripten_sync_run_in_main_thread_2"]; asm["_emscripten_sync_run_in_main_thread_2"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_2.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_sub_u64 = asm["__emscripten_atomic_fetch_and_sub_u64"]; asm["__emscripten_atomic_fetch_and_sub_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_sub_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_exchange_u32 = asm["_emscripten_atomic_exchange_u32"]; asm["_emscripten_atomic_exchange_u32"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_exchange_u32.apply(null, arguments); }; var real__fflush = asm["_fflush"]; asm["_fflush"] = function() { @@ -28345,22 +34844,46 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real__fflush.apply(null, arguments); }; +var real__emscripten_set_current_thread_status = asm["_emscripten_set_current_thread_status"]; asm["_emscripten_set_current_thread_status"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_set_current_thread_status.apply(null, arguments); +}; + +var real__emscripten_atomic_cas_u64 = asm["_emscripten_atomic_cas_u64"]; asm["_emscripten_atomic_cas_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_cas_u64.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() { +var real__emscripten_atomic_sub_u64 = asm["_emscripten_atomic_sub_u64"]; asm["_emscripten_atomic_sub_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_sub_u64.apply(null, arguments); }; -var real__llvm_bswap_i32 = asm["_llvm_bswap_i32"]; asm["_llvm_bswap_i32"] = function() { +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__llvm_bswap_i32.apply(null, arguments); +return real__main.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_xprintf_varargs = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_xprintf_varargs.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____muldi3 = asm["___muldi3"]; asm["___muldi3"] = function() { @@ -28369,6 +34892,18 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real____muldi3.apply(null, arguments); }; +var real___emscripten_atomic_fetch_and_and_u64 = asm["__emscripten_atomic_fetch_and_and_u64"]; asm["__emscripten_atomic_fetch_and_and_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_and_u64.apply(null, arguments); +}; + +var real__emscripten_sync_run_in_main_thread_3 = asm["_emscripten_sync_run_in_main_thread_3"]; asm["_emscripten_sync_run_in_main_thread_3"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_sync_run_in_main_thread_3.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)'); @@ -28387,12 +34922,6 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a 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)'); @@ -28405,28 +34934,52 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real__i64Add.apply(null, arguments); }; +var real__emscripten_atomic_store_u64 = asm["_emscripten_atomic_store_u64"]; asm["_emscripten_atomic_store_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_store_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_load_f64 = asm["_emscripten_atomic_load_f64"]; asm["_emscripten_atomic_load_f64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_load_f64.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_atomic_fetch_and_add_u64 = asm["__emscripten_atomic_fetch_and_add_u64"]; asm["__emscripten_atomic_fetch_and_add_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_add_u64.apply(null, arguments); +}; + +var real___emscripten_atomic_fetch_and_or_u64 = asm["__emscripten_atomic_fetch_and_or_u64"]; asm["__emscripten_atomic_fetch_and_or_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_fetch_and_or_u64.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() { +var real__emscripten_async_run_in_main_thread = asm["_emscripten_async_run_in_main_thread"]; asm["_emscripten_async_run_in_main_thread"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_async_run_in_main_thread.apply(null, arguments); }; -var real____errno_location = asm["___errno_location"]; asm["___errno_location"] = function() { +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____errno_location.apply(null, arguments); +return real__llvm_bswap_i32.apply(null, arguments); }; var real____muldsi3 = asm["___muldsi3"]; asm["___muldsi3"] = function() { @@ -28435,28 +34988,52 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real____muldsi3.apply(null, arguments); }; +var real__emscripten_main_thread_process_queued_calls = asm["_emscripten_main_thread_process_queued_calls"]; asm["_emscripten_main_thread_process_queued_calls"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_main_thread_process_queued_calls.apply(null, arguments); +}; + +var real__emscripten_atomic_add_u64 = asm["_emscripten_atomic_add_u64"]; asm["_emscripten_atomic_add_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_add_u64.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() { +var real__emscripten_atomic_store_f32 = asm["_emscripten_atomic_store_f32"]; asm["_emscripten_atomic_store_f32"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_store_f32.apply(null, arguments); }; -var real__memmove = asm["_memmove"]; asm["_memmove"] = function() { +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__memmove.apply(null, arguments); +return real_setThrew.apply(null, arguments); }; -var real__strstr = asm["_strstr"]; asm["_strstr"] = function() { +var real__emscripten_atomic_exchange_u64 = asm["_emscripten_atomic_exchange_u64"]; asm["_emscripten_atomic_exchange_u64"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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); +return real__emscripten_atomic_exchange_u64.apply(null, arguments); +}; + +var real__emscripten_atomic_store_f64 = asm["_emscripten_atomic_store_f64"]; asm["_emscripten_atomic_store_f64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_store_f64.apply(null, arguments); +}; + +var real____pthread_tsd_run_dtors = asm["___pthread_tsd_run_dtors"]; asm["___pthread_tsd_run_dtors"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); +assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); +return real____pthread_tsd_run_dtors.apply(null, arguments); }; var real_stackRestore = asm["stackRestore"]; asm["stackRestore"] = function() { @@ -28465,43 +35042,120 @@ assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it a return real_stackRestore.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__malloc = asm["_malloc"]; asm["_malloc"] = function() { assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait for main() to be called)'); assert(!runtimeExited, 'the runtime was exited (use NO_EXIT_RUNTIME to keep it alive after main() exits)'); return real__malloc.apply(null, arguments); }; + +var real_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__emscripten_conditional_set_current_thread_status = asm["_emscripten_conditional_set_current_thread_status"]; asm["_emscripten_conditional_set_current_thread_status"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_conditional_set_current_thread_status.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__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__emscripten_atomic_or_u64 = asm["_emscripten_atomic_or_u64"]; asm["_emscripten_atomic_or_u64"] = function() { +assert(runtimeInitialized, 'you need to wait for the runtime to be ready (e.g. wait 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_atomic_or_u64.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 __emscripten_atomic_fetch_and_xor_u64 = Module["__emscripten_atomic_fetch_and_xor_u64"] = asm["__emscripten_atomic_fetch_and_xor_u64"]; var _roundf = Module["_roundf"] = asm["_roundf"]; -var _main = Module["_main"] = asm["_main"]; +var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var _emscripten_atomic_load_f32 = Module["_emscripten_atomic_load_f32"] = asm["_emscripten_atomic_load_f32"]; +var ___emscripten_pthread_data_constructor = Module["___emscripten_pthread_data_constructor"] = asm["___emscripten_pthread_data_constructor"]; 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 _emscripten_atomic_xor_u64 = Module["_emscripten_atomic_xor_u64"] = asm["_emscripten_atomic_xor_u64"]; +var _emscripten_atomic_load_u64 = Module["_emscripten_atomic_load_u64"] = asm["_emscripten_atomic_load_u64"]; +var ___udivdi3 = Module["___udivdi3"] = asm["___udivdi3"]; var _bitshift64Lshr = Module["_bitshift64Lshr"] = asm["_bitshift64Lshr"]; -var _bitshift64Shl = Module["_bitshift64Shl"] = asm["_bitshift64Shl"]; +var getTempRet0 = Module["getTempRet0"] = asm["getTempRet0"]; +var _emscripten_atomic_and_u64 = Module["_emscripten_atomic_and_u64"] = asm["_emscripten_atomic_and_u64"]; +var _emscripten_sync_run_in_main_thread = Module["_emscripten_sync_run_in_main_thread"] = asm["_emscripten_sync_run_in_main_thread"]; +var _emscripten_sync_run_in_main_thread_4 = Module["_emscripten_sync_run_in_main_thread_4"] = asm["_emscripten_sync_run_in_main_thread_4"]; +var _emscripten_sync_run_in_main_thread_5 = Module["_emscripten_sync_run_in_main_thread_5"] = asm["_emscripten_sync_run_in_main_thread_5"]; +var _emscripten_sync_run_in_main_thread_6 = Module["_emscripten_sync_run_in_main_thread_6"] = asm["_emscripten_sync_run_in_main_thread_6"]; +var _emscripten_sync_run_in_main_thread_7 = Module["_emscripten_sync_run_in_main_thread_7"] = asm["_emscripten_sync_run_in_main_thread_7"]; +var _emscripten_sync_run_in_main_thread_0 = Module["_emscripten_sync_run_in_main_thread_0"] = asm["_emscripten_sync_run_in_main_thread_0"]; +var _emscripten_sync_run_in_main_thread_1 = Module["_emscripten_sync_run_in_main_thread_1"] = asm["_emscripten_sync_run_in_main_thread_1"]; +var _emscripten_sync_run_in_main_thread_2 = Module["_emscripten_sync_run_in_main_thread_2"] = asm["_emscripten_sync_run_in_main_thread_2"]; +var __emscripten_atomic_fetch_and_sub_u64 = Module["__emscripten_atomic_fetch_and_sub_u64"] = asm["__emscripten_atomic_fetch_and_sub_u64"]; +var _emscripten_atomic_exchange_u32 = Module["_emscripten_atomic_exchange_u32"] = asm["_emscripten_atomic_exchange_u32"]; var _fflush = Module["_fflush"] = asm["_fflush"]; +var _emscripten_set_current_thread_status = Module["_emscripten_set_current_thread_status"] = asm["_emscripten_set_current_thread_status"]; +var _emscripten_atomic_cas_u64 = Module["_emscripten_atomic_cas_u64"] = asm["_emscripten_atomic_cas_u64"]; var _llvm_cttz_i32 = Module["_llvm_cttz_i32"] = asm["_llvm_cttz_i32"]; -var _sbrk = Module["_sbrk"] = asm["_sbrk"]; +var _emscripten_atomic_sub_u64 = Module["_emscripten_atomic_sub_u64"] = asm["_emscripten_atomic_sub_u64"]; +var _main = Module["_main"] = asm["_main"]; +var _emscripten_sync_run_in_main_thread_xprintf_varargs = Module["_emscripten_sync_run_in_main_thread_xprintf_varargs"] = asm["_emscripten_sync_run_in_main_thread_xprintf_varargs"]; var _memcpy = Module["_memcpy"] = asm["_memcpy"]; -var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var ___errno_location = Module["___errno_location"] = asm["___errno_location"]; var ___muldi3 = Module["___muldi3"] = asm["___muldi3"]; +var __emscripten_atomic_fetch_and_and_u64 = Module["__emscripten_atomic_fetch_and_and_u64"] = asm["__emscripten_atomic_fetch_and_and_u64"]; +var _emscripten_sync_run_in_main_thread_3 = Module["_emscripten_sync_run_in_main_thread_3"] = asm["_emscripten_sync_run_in_main_thread_3"]; 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 _memset = Module["_memset"] = asm["_memset"]; var setTempRet0 = Module["setTempRet0"] = asm["setTempRet0"]; var _i64Add = Module["_i64Add"] = asm["_i64Add"]; +var _emscripten_atomic_store_u64 = Module["_emscripten_atomic_store_u64"] = asm["_emscripten_atomic_store_u64"]; +var _emscripten_atomic_load_f64 = Module["_emscripten_atomic_load_f64"] = asm["_emscripten_atomic_load_f64"]; var _emscripten_get_global_libc = Module["_emscripten_get_global_libc"] = asm["_emscripten_get_global_libc"]; +var __emscripten_atomic_fetch_and_add_u64 = Module["__emscripten_atomic_fetch_and_add_u64"] = asm["__emscripten_atomic_fetch_and_add_u64"]; +var __emscripten_atomic_fetch_and_or_u64 = Module["__emscripten_atomic_fetch_and_or_u64"] = asm["__emscripten_atomic_fetch_and_or_u64"]; 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 _emscripten_async_run_in_main_thread = Module["_emscripten_async_run_in_main_thread"] = asm["_emscripten_async_run_in_main_thread"]; +var _llvm_bswap_i32 = Module["_llvm_bswap_i32"] = asm["_llvm_bswap_i32"]; +var runPostSets = Module["runPostSets"] = asm["runPostSets"]; var ___muldsi3 = Module["___muldsi3"] = asm["___muldsi3"]; +var _emscripten_main_thread_process_queued_calls = Module["_emscripten_main_thread_process_queued_calls"] = asm["_emscripten_main_thread_process_queued_calls"]; +var _emscripten_atomic_add_u64 = Module["_emscripten_atomic_add_u64"] = asm["_emscripten_atomic_add_u64"]; var _free = Module["_free"] = asm["_free"]; -var runPostSets = Module["runPostSets"] = asm["runPostSets"]; +var _emscripten_atomic_store_f32 = Module["_emscripten_atomic_store_f32"] = asm["_emscripten_atomic_store_f32"]; +var setThrew = Module["setThrew"] = asm["setThrew"]; +var _emscripten_atomic_exchange_u64 = Module["_emscripten_atomic_exchange_u64"] = asm["_emscripten_atomic_exchange_u64"]; +var _emscripten_atomic_store_f64 = Module["_emscripten_atomic_store_f64"] = asm["_emscripten_atomic_store_f64"]; +var ___pthread_tsd_run_dtors = Module["___pthread_tsd_run_dtors"] = asm["___pthread_tsd_run_dtors"]; +var stackRestore = Module["stackRestore"] = asm["stackRestore"]; +var ___udivmoddi4 = Module["___udivmoddi4"] = asm["___udivmoddi4"]; +var _malloc = Module["_malloc"] = asm["_malloc"]; var establishStackSpace = Module["establishStackSpace"] = asm["establishStackSpace"]; +var _emscripten_conditional_set_current_thread_status = Module["_emscripten_conditional_set_current_thread_status"] = asm["_emscripten_conditional_set_current_thread_status"]; +var _sbrk = Module["_sbrk"] = asm["_sbrk"]; var _memmove = Module["_memmove"] = asm["_memmove"]; +var _emscripten_atomic_or_u64 = Module["_emscripten_atomic_or_u64"] = asm["_emscripten_atomic_or_u64"]; 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"]; @@ -28683,6 +35337,7 @@ function exit(status, implicit) { 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 { + PThread.terminateAllThreads(); ABORT = true; EXITSTATUS = status; @@ -28703,6 +35358,7 @@ Module['exit'] = Module.exit = exit; var abortDecorators = []; function abort(what) { + if (ENVIRONMENT_IS_PTHREAD) console.error('Pthread aborting at ' + new Error().stack); if (what !== undefined) { Module.print(what); Module.printErr(what); @@ -28742,7 +35398,7 @@ if (Module['noInitialRun']) { } -run(); +if (!ENVIRONMENT_IS_PTHREAD) run(); // {{POST_RUN_ADDITIONS}} diff --git a/docs/examples/web/physac/pthread-main.js b/docs/examples/web/physac/pthread-main.js new file mode 100644 index 00000000..3f094310 --- /dev/null +++ b/docs/examples/web/physac/pthread-main.js @@ -0,0 +1,115 @@ +// Pthread Web Worker startup routine: +// This is the entry point file that is loaded first by each Web Worker +// that executes pthreads on the Emscripten application. + +// Thread-local: +var threadInfoStruct = 0; // Info area for this thread in Emscripten HEAP (shared). If zero, this worker is not currently hosting an executing pthread. +var selfThreadId = 0; // The ID of this thread. 0 if not hosting a pthread. +var parentThreadId = 0; // The ID of the parent pthread that launched this thread. +var tempDoublePtr = 0; // A temporary memory area for global float and double marshalling operations. + +// Thread-local: Each thread has its own allocated stack space. +var STACK_BASE = 0; +var STACKTOP = 0; +var STACK_MAX = 0; + +// These are system-wide memory area parameters that are set at main runtime startup in main thread, and stay constant throughout the application. +var buffer; // All pthreads share the same Emscripten HEAP as SharedArrayBuffer with the main execution thread. +var DYNAMICTOP_PTR = 0; +var TOTAL_MEMORY = 0; +var STATICTOP = 0; +var staticSealed = true; // When threads are being initialized, the static memory area has been already sealed a long time ago. +var DYNAMIC_BASE = 0; + +var ENVIRONMENT_IS_PTHREAD = true; + +// Cannot use console.log or console.error in a web worker, since that would risk a browser deadlock! https://bugzilla.mozilla.org/show_bug.cgi?id=1049091 +// Therefore implement custom logging facility for threads running in a worker, which queue the messages to main thread to print. +var Module = {}; + +function threadPrint() { + var text = Array.prototype.slice.call(arguments).join(' '); + console.log(text); +} +function threadPrintErr() { + var text = Array.prototype.slice.call(arguments).join(' '); + console.error(text); +} +function threadAlert() { + var text = Array.prototype.slice.call(arguments).join(' '); + postMessage({cmd: 'alert', text: text, threadId: selfThreadId}); +} +Module['print'] = threadPrint; +Module['printErr'] = threadPrintErr; +this.alert = threadAlert; + +this.onmessage = function(e) { + if (e.data.cmd === 'load') { // Preload command that is called once per worker to parse and load the Emscripten code. + // Initialize the thread-local field(s): + tempDoublePtr = e.data.tempDoublePtr; + + // Initialize the global "process"-wide fields: + buffer = e.data.buffer; + Module['TOTAL_MEMORY'] = TOTAL_MEMORY = e.data.TOTAL_MEMORY; + STATICTOP = e.data.STATICTOP; + DYNAMIC_BASE = e.data.DYNAMIC_BASE; + DYNAMICTOP_PTR = e.data.DYNAMICTOP_PTR; + + PthreadWorkerInit = e.data.PthreadWorkerInit; + importScripts(e.data.url); + if (typeof FS !== 'undefined') FS.createStandardStreams(); + postMessage({ cmd: 'loaded' }); + } else if (e.data.cmd === 'objectTransfer') { + PThread.receiveObjectTransfer(e.data); + } else if (e.data.cmd === 'run') { // This worker was idle, and now should start executing its pthread entry point. + threadInfoStruct = e.data.threadInfoStruct; + __register_pthread_ptr(threadInfoStruct, /*isMainBrowserThread=*/0, /*isMainRuntimeThread=*/0); // Pass the thread address inside the asm.js scope to store it for fast access that avoids the need for a FFI out. + assert(threadInfoStruct); + selfThreadId = e.data.selfThreadId; + parentThreadId = e.data.parentThreadId; + assert(selfThreadId); + assert(parentThreadId); + // TODO: Emscripten runtime has these variables twice(!), once outside the asm.js module, and a second time inside the asm.js module. + // Review why that is? Can those get out of sync? + STACK_BASE = STACKTOP = e.data.stackBase; + STACK_MAX = STACK_BASE + e.data.stackSize; + assert(STACK_BASE != 0); + assert(STACK_MAX > STACK_BASE); + Runtime.establishStackSpace(e.data.stackBase, e.data.stackBase + e.data.stackSize); + var result = 0; + + PThread.receiveObjectTransfer(e.data); + + PThread.setThreadStatus(_pthread_self(), 1/*EM_THREAD_STATUS_RUNNING*/); + + try { + // HACK: Some code in the wild has instead signatures of form 'void *ThreadMain()', which seems to be ok in native code. + // To emulate supporting both in test suites, use the following form. This is brittle! + if (typeof asm['dynCall_ii'] !== 'undefined') { + result = asm.dynCall_ii(e.data.start_routine, e.data.arg); // pthread entry points are always of signature 'void *ThreadMain(void *arg)' + } else { + result = asm.dynCall_i(e.data.start_routine); // as a hack, try signature 'i' as fallback. + } + } catch(e) { + if (e === 'Canceled!') { + PThread.threadCancel(); + return; + } else { + Atomics.store(HEAPU32, (threadInfoStruct + 4 /*{{{ C_STRUCTS.pthread.threadExitCode }}}*/ ) >> 2, -2 /*A custom entry specific to Emscripten denoting that the thread crashed.*/); + Atomics.store(HEAPU32, (threadInfoStruct + 0 /*{{{ C_STRUCTS.pthread.threadStatus }}}*/ ) >> 2, 1); // Mark the thread as no longer running. + _emscripten_futex_wake(threadInfoStruct + 0 /*{{{ C_STRUCTS.pthread.threadStatus }}}*/, 0x7FFFFFFF/*INT_MAX*/); // wake all threads + throw e; + } + } + // The thread might have finished without calling pthread_exit(). If so, then perform the exit operation ourselves. + // (This is a no-op if explicit pthread_exit() had been called prior.) + if (!Module['noExitRuntime']) PThread.threadExit(result); + else console.log('pthread noExitRuntime: not quitting.'); + } else if (e.data.cmd === 'cancel') { // Main thread is asking for a pthread_cancel() on this thread. + if (threadInfoStruct && PThread.thisThreadCancelState == 0/*PTHREAD_CANCEL_ENABLE*/) { + PThread.threadCancel(); + } + } else { + Module['printErr']('pthread-main.js received unknown command ' + e.data.cmd); + } +} diff --git a/examples/physac/physics_demo.c b/examples/physac/physics_demo.c index 9bf04d50..1b54d51b 100644 --- a/examples/physac/physics_demo.c +++ b/examples/physac/physics_demo.c @@ -28,7 +28,6 @@ int main() SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Physics demo"); - SetTargetFPS(60); // Physac logo drawing position int logoX = screenWidth - MeasureText("Physac", 30) - 10; @@ -44,6 +43,8 @@ int main() // Create obstacle circle physics body PhysicsBody circle = CreatePhysicsBodyCircle((Vector2){ screenWidth/2, screenHeight/2 }, 45, 10); circle->enabled = false; // Disable body state to convert it to static (no dynamics, but collisions) + + SetTargetFPS(60); //-------------------------------------------------------------------------------------- // Main game loop @@ -120,6 +121,7 @@ int main() // De-Initialization //-------------------------------------------------------------------------------------- ClosePhysics(); // Unitialize physics + CloseWindow(); // Close window and OpenGL context //-------------------------------------------------------------------------------------- diff --git a/examples/physac/physics_friction.c b/examples/physac/physics_friction.c index 25f31d3f..9472729a 100644 --- a/examples/physac/physics_friction.c +++ b/examples/physac/physics_friction.c @@ -28,7 +28,6 @@ int main() SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Physics friction"); - SetTargetFPS(60); // Physac logo drawing position int logoX = screenWidth - MeasureText("Physac", 30) - 10; @@ -63,6 +62,8 @@ int main() bodyB->staticFriction = 1; bodyB->dynamicFriction = 1; SetPhysicsBodyRotation(bodyB, 330*DEG2RAD); + + SetTargetFPS(60); //-------------------------------------------------------------------------------------- // Main game loop diff --git a/examples/physac/physics_movement.c b/examples/physac/physics_movement.c index f81316ed..4b2c9ab0 100644 --- a/examples/physac/physics_movement.c +++ b/examples/physac/physics_movement.c @@ -30,7 +30,6 @@ int main() SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Physics movement"); - SetTargetFPS(60); // Physac logo drawing position int logoX = screenWidth - MeasureText("Physac", 30) - 10; @@ -56,6 +55,8 @@ int main() // Create movement physics body PhysicsBody body = CreatePhysicsBodyRectangle((Vector2){ screenWidth/2, screenHeight/2 }, 50, 50, 1); body->freezeOrient = true; // Constrain body rotation to avoid little collision torque amounts + + SetTargetFPS(60); //-------------------------------------------------------------------------------------- // Main game loop diff --git a/examples/physac/physics_restitution.c b/examples/physac/physics_restitution.c index d58ec6e3..2be8f42e 100644 --- a/examples/physac/physics_restitution.c +++ b/examples/physac/physics_restitution.c @@ -28,7 +28,6 @@ int main() SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Physics restitution"); - SetTargetFPS(60); // Physac logo drawing position int logoX = screenWidth - MeasureText("Physac", 30) - 10; @@ -49,6 +48,8 @@ int main() circleB->restitution = 0.5f; PhysicsBody circleC = CreatePhysicsBodyCircle((Vector2){ screenWidth*0.75f, screenHeight/2 }, 30, 10); circleC->restitution = 1; + + SetTargetFPS(60); //-------------------------------------------------------------------------------------- // Main game loop diff --git a/examples/physac/physics_shatter.c b/examples/physac/physics_shatter.c index 4e3b0cb6..6b474cd3 100644 --- a/examples/physac/physics_shatter.c +++ b/examples/physac/physics_shatter.c @@ -28,7 +28,6 @@ int main() SetConfigFlags(FLAG_MSAA_4X_HINT); InitWindow(screenWidth, screenHeight, "Physac [raylib] - Body shatter"); - SetTargetFPS(60); // Physac logo drawing position int logoX = screenWidth - MeasureText("Physac", 30) - 10; @@ -40,6 +39,8 @@ int main() // Create random polygon physics body to shatter PhysicsBody body = CreatePhysicsBodyPolygon((Vector2){ screenWidth/2, screenHeight/2 }, GetRandomValue(80, 200), GetRandomValue(3, 8), 10); + + SetTargetFPS(60); //-------------------------------------------------------------------------------------- // Main game loop -- cgit v1.2.3 From 61ce160023e56d20b8baf88b56c11b70b05a8318 Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 20 Apr 2017 00:49:39 +0200 Subject: Added examples web images Added loader webs (previously ignored) --- .gitignore | 9 + docs/examples/web/audio/audio_module_playing.png | Bin 0 -> 47970 bytes docs/examples/web/audio/audio_music_stream.png | Bin 0 -> 15043 bytes docs/examples/web/audio/audio_raw_stream.png | Bin 0 -> 16736 bytes docs/examples/web/audio/audio_sound_loading.png | Bin 0 -> 15438 bytes docs/examples/web/audio/loader.html | 210 +++++++++++++++++++++ docs/examples/web/core/core_2d_camera.png | Bin 0 -> 21470 bytes .../web/core/core_3d_camera_first_person.png | Bin 0 -> 17403 bytes docs/examples/web/core/core_3d_camera_free.png | Bin 0 -> 25317 bytes docs/examples/web/core/core_3d_mode.png | Bin 0 -> 8492 bytes docs/examples/web/core/core_3d_picking.png | Bin 0 -> 24402 bytes docs/examples/web/core/core_basic_window.png | Bin 0 -> 10297 bytes docs/examples/web/core/core_color_select.png | Bin 0 -> 14328 bytes docs/examples/web/core/core_drop_files.png | Bin 0 -> 4682 bytes docs/examples/web/core/core_gestures_detection.png | Bin 0 -> 19480 bytes docs/examples/web/core/core_input_gamepad.png | Bin 0 -> 38066 bytes docs/examples/web/core/core_input_keys.png | Bin 0 -> 10379 bytes docs/examples/web/core/core_input_mouse.png | Bin 0 -> 15444 bytes docs/examples/web/core/core_mouse_wheel.png | Bin 0 -> 15375 bytes docs/examples/web/core/core_random_values.png | Bin 0 -> 15247 bytes docs/examples/web/core/core_storage_values.png | Bin 0 -> 16147 bytes docs/examples/web/core/core_vr_simulator.png | Bin 0 -> 177237 bytes docs/examples/web/core/core_world_screen.png | Bin 0 -> 23813 bytes docs/examples/web/core/loader.html | 210 +++++++++++++++++++++ docs/examples/web/makefile | 4 +- docs/examples/web/models/loader.html | 210 +++++++++++++++++++++ docs/examples/web/models/models_billboard.png | Bin 0 -> 54859 bytes docs/examples/web/models/models_box_collisions.png | Bin 0 -> 22077 bytes docs/examples/web/models/models_cubicmap.png | Bin 0 -> 412536 bytes .../web/models/models_geometric_shapes.png | Bin 0 -> 33973 bytes docs/examples/web/models/models_heightmap.png | Bin 0 -> 96976 bytes docs/examples/web/models/models_mesh_picking.png | Bin 0 -> 97991 bytes docs/examples/web/models/models_obj_loading.png | Bin 0 -> 127720 bytes docs/examples/web/physac/loader.html | 210 +++++++++++++++++++++ docs/examples/web/shaders/loader.html | 210 +++++++++++++++++++++ .../web/shaders/shaders_custom_uniform.png | Bin 0 -> 257677 bytes docs/examples/web/shaders/shaders_model_shader.png | Bin 0 -> 141964 bytes .../web/shaders/shaders_postprocessing.png | Bin 0 -> 237145 bytes .../web/shaders/shaders_shapes_textures.png | Bin 0 -> 167756 bytes docs/examples/web/shapes/loader.html | 210 +++++++++++++++++++++ docs/examples/web/text/loader.html | 210 +++++++++++++++++++++ docs/examples/web/textures/loader.html | 210 +++++++++++++++++++++ .../web/textures/textures_particles__blending.png | Bin 358260 -> 0 bytes .../web/textures/textures_particles_blending.png | Bin 0 -> 358260 bytes 44 files changed, 1691 insertions(+), 2 deletions(-) create mode 100644 docs/examples/web/audio/audio_module_playing.png create mode 100644 docs/examples/web/audio/audio_music_stream.png create mode 100644 docs/examples/web/audio/audio_raw_stream.png create mode 100644 docs/examples/web/audio/audio_sound_loading.png create mode 100644 docs/examples/web/audio/loader.html create mode 100644 docs/examples/web/core/core_2d_camera.png create mode 100644 docs/examples/web/core/core_3d_camera_first_person.png create mode 100644 docs/examples/web/core/core_3d_camera_free.png create mode 100644 docs/examples/web/core/core_3d_mode.png create mode 100644 docs/examples/web/core/core_3d_picking.png create mode 100644 docs/examples/web/core/core_basic_window.png create mode 100644 docs/examples/web/core/core_color_select.png create mode 100644 docs/examples/web/core/core_drop_files.png create mode 100644 docs/examples/web/core/core_gestures_detection.png create mode 100644 docs/examples/web/core/core_input_gamepad.png create mode 100644 docs/examples/web/core/core_input_keys.png create mode 100644 docs/examples/web/core/core_input_mouse.png create mode 100644 docs/examples/web/core/core_mouse_wheel.png create mode 100644 docs/examples/web/core/core_random_values.png create mode 100644 docs/examples/web/core/core_storage_values.png create mode 100644 docs/examples/web/core/core_vr_simulator.png create mode 100644 docs/examples/web/core/core_world_screen.png create mode 100644 docs/examples/web/core/loader.html create mode 100644 docs/examples/web/models/loader.html create mode 100644 docs/examples/web/models/models_billboard.png create mode 100644 docs/examples/web/models/models_box_collisions.png create mode 100644 docs/examples/web/models/models_cubicmap.png create mode 100644 docs/examples/web/models/models_geometric_shapes.png create mode 100644 docs/examples/web/models/models_heightmap.png create mode 100644 docs/examples/web/models/models_mesh_picking.png create mode 100644 docs/examples/web/models/models_obj_loading.png create mode 100644 docs/examples/web/physac/loader.html create mode 100644 docs/examples/web/shaders/loader.html create mode 100644 docs/examples/web/shaders/shaders_custom_uniform.png create mode 100644 docs/examples/web/shaders/shaders_model_shader.png create mode 100644 docs/examples/web/shaders/shaders_postprocessing.png create mode 100644 docs/examples/web/shaders/shaders_shapes_textures.png create mode 100644 docs/examples/web/shapes/loader.html create mode 100644 docs/examples/web/text/loader.html create mode 100644 docs/examples/web/textures/loader.html delete mode 100644 docs/examples/web/textures/textures_particles__blending.png create mode 100644 docs/examples/web/textures/textures_particles_blending.png (limited to 'docs/examples') diff --git a/.gitignore b/.gitignore index be170102..ac535065 100644 --- a/.gitignore +++ b/.gitignore @@ -114,3 +114,12 @@ project/vs2015/*.opendb docs/examples/web/*.html docs/examples/web/*/*.html !docs/examples/web/loader.html +!docs/examples/web/core/loader.html +!docs/examples/web/shapes/loader.html +!docs/examples/web/text/loader.html +!docs/examples/web/textures/loader.html +!docs/examples/web/audio/loader.html +!docs/examples/web/physac/loader.html +!docs/examples/web/shaders/loader.html +!docs/examples/web/models/loader.html + diff --git a/docs/examples/web/audio/audio_module_playing.png b/docs/examples/web/audio/audio_module_playing.png new file mode 100644 index 00000000..8bde9879 Binary files /dev/null and b/docs/examples/web/audio/audio_module_playing.png differ diff --git a/docs/examples/web/audio/audio_music_stream.png b/docs/examples/web/audio/audio_music_stream.png new file mode 100644 index 00000000..f8b14e15 Binary files /dev/null and b/docs/examples/web/audio/audio_music_stream.png differ diff --git a/docs/examples/web/audio/audio_raw_stream.png b/docs/examples/web/audio/audio_raw_stream.png new file mode 100644 index 00000000..344f4a71 Binary files /dev/null and b/docs/examples/web/audio/audio_raw_stream.png differ diff --git a/docs/examples/web/audio/audio_sound_loading.png b/docs/examples/web/audio/audio_sound_loading.png new file mode 100644 index 00000000..24071ce3 Binary files /dev/null and b/docs/examples/web/audio/audio_sound_loading.png differ diff --git a/docs/examples/web/audio/loader.html b/docs/examples/web/audio/loader.html new file mode 100644 index 00000000..c5e18be0 --- /dev/null +++ b/docs/examples/web/audio/loader.html @@ -0,0 +1,210 @@ + + + + loading... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git a/docs/examples/web/core/core_2d_camera.png b/docs/examples/web/core/core_2d_camera.png new file mode 100644 index 00000000..d2f9e634 Binary files /dev/null and b/docs/examples/web/core/core_2d_camera.png differ diff --git a/docs/examples/web/core/core_3d_camera_first_person.png b/docs/examples/web/core/core_3d_camera_first_person.png new file mode 100644 index 00000000..a995591f Binary files /dev/null and b/docs/examples/web/core/core_3d_camera_first_person.png differ diff --git a/docs/examples/web/core/core_3d_camera_free.png b/docs/examples/web/core/core_3d_camera_free.png new file mode 100644 index 00000000..7874eedc Binary files /dev/null and b/docs/examples/web/core/core_3d_camera_free.png differ diff --git a/docs/examples/web/core/core_3d_mode.png b/docs/examples/web/core/core_3d_mode.png new file mode 100644 index 00000000..de65daeb Binary files /dev/null and b/docs/examples/web/core/core_3d_mode.png differ diff --git a/docs/examples/web/core/core_3d_picking.png b/docs/examples/web/core/core_3d_picking.png new file mode 100644 index 00000000..254f2f88 Binary files /dev/null and b/docs/examples/web/core/core_3d_picking.png differ diff --git a/docs/examples/web/core/core_basic_window.png b/docs/examples/web/core/core_basic_window.png new file mode 100644 index 00000000..34618441 Binary files /dev/null and b/docs/examples/web/core/core_basic_window.png differ diff --git a/docs/examples/web/core/core_color_select.png b/docs/examples/web/core/core_color_select.png new file mode 100644 index 00000000..93ab83ae Binary files /dev/null and b/docs/examples/web/core/core_color_select.png differ diff --git a/docs/examples/web/core/core_drop_files.png b/docs/examples/web/core/core_drop_files.png new file mode 100644 index 00000000..d46c44cf Binary files /dev/null and b/docs/examples/web/core/core_drop_files.png differ diff --git a/docs/examples/web/core/core_gestures_detection.png b/docs/examples/web/core/core_gestures_detection.png new file mode 100644 index 00000000..d2bbb5d7 Binary files /dev/null and b/docs/examples/web/core/core_gestures_detection.png differ diff --git a/docs/examples/web/core/core_input_gamepad.png b/docs/examples/web/core/core_input_gamepad.png new file mode 100644 index 00000000..5996eece Binary files /dev/null and b/docs/examples/web/core/core_input_gamepad.png differ diff --git a/docs/examples/web/core/core_input_keys.png b/docs/examples/web/core/core_input_keys.png new file mode 100644 index 00000000..48370321 Binary files /dev/null and b/docs/examples/web/core/core_input_keys.png differ diff --git a/docs/examples/web/core/core_input_mouse.png b/docs/examples/web/core/core_input_mouse.png new file mode 100644 index 00000000..a96e7faf Binary files /dev/null and b/docs/examples/web/core/core_input_mouse.png differ diff --git a/docs/examples/web/core/core_mouse_wheel.png b/docs/examples/web/core/core_mouse_wheel.png new file mode 100644 index 00000000..26a1f243 Binary files /dev/null and b/docs/examples/web/core/core_mouse_wheel.png differ diff --git a/docs/examples/web/core/core_random_values.png b/docs/examples/web/core/core_random_values.png new file mode 100644 index 00000000..6dd49475 Binary files /dev/null and b/docs/examples/web/core/core_random_values.png differ diff --git a/docs/examples/web/core/core_storage_values.png b/docs/examples/web/core/core_storage_values.png new file mode 100644 index 00000000..6cfd552d Binary files /dev/null and b/docs/examples/web/core/core_storage_values.png differ diff --git a/docs/examples/web/core/core_vr_simulator.png b/docs/examples/web/core/core_vr_simulator.png new file mode 100644 index 00000000..aa4d0932 Binary files /dev/null and b/docs/examples/web/core/core_vr_simulator.png differ diff --git a/docs/examples/web/core/core_world_screen.png b/docs/examples/web/core/core_world_screen.png new file mode 100644 index 00000000..b4853b45 Binary files /dev/null and b/docs/examples/web/core/core_world_screen.png differ diff --git a/docs/examples/web/core/loader.html b/docs/examples/web/core/loader.html new file mode 100644 index 00000000..c5e18be0 --- /dev/null +++ b/docs/examples/web/core/loader.html @@ -0,0 +1,210 @@ + + + + loading... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git a/docs/examples/web/makefile b/docs/examples/web/makefile index bdf32bee..c7ffe514 100644 --- a/docs/examples/web/makefile +++ b/docs/examples/web/makefile @@ -36,7 +36,7 @@ ifeq ($(PLATFORM),PLATFORM_WEB) endif # define raylib directory for include and library -RAYLIB_PATH = D:\GitHub\raylib +RAYLIB_PATH ?= C:\GitHub\raylib # determine PLATFORM_OS in case PLATFORM_DESKTOP selected ifeq ($(PLATFORM),PLATFORM_DESKTOP) @@ -99,7 +99,7 @@ ifeq ($(PLATFORM),PLATFORM_WEB) # --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 + # --preload-file file.res # embbed file.res resource into .data file endif ifeq ($(PLATFORM),PLATFORM_RPI) CFLAGS = -O2 -s -Wall -std=gnu99 -fgnu89-inline diff --git a/docs/examples/web/models/loader.html b/docs/examples/web/models/loader.html new file mode 100644 index 00000000..c5e18be0 --- /dev/null +++ b/docs/examples/web/models/loader.html @@ -0,0 +1,210 @@ + + + + loading... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git a/docs/examples/web/models/models_billboard.png b/docs/examples/web/models/models_billboard.png new file mode 100644 index 00000000..dad1e55b Binary files /dev/null and b/docs/examples/web/models/models_billboard.png differ diff --git a/docs/examples/web/models/models_box_collisions.png b/docs/examples/web/models/models_box_collisions.png new file mode 100644 index 00000000..d01fd9dd Binary files /dev/null and b/docs/examples/web/models/models_box_collisions.png differ diff --git a/docs/examples/web/models/models_cubicmap.png b/docs/examples/web/models/models_cubicmap.png new file mode 100644 index 00000000..9cb854cb Binary files /dev/null and b/docs/examples/web/models/models_cubicmap.png differ diff --git a/docs/examples/web/models/models_geometric_shapes.png b/docs/examples/web/models/models_geometric_shapes.png new file mode 100644 index 00000000..6076b429 Binary files /dev/null and b/docs/examples/web/models/models_geometric_shapes.png differ diff --git a/docs/examples/web/models/models_heightmap.png b/docs/examples/web/models/models_heightmap.png new file mode 100644 index 00000000..6dcf01f0 Binary files /dev/null and b/docs/examples/web/models/models_heightmap.png differ diff --git a/docs/examples/web/models/models_mesh_picking.png b/docs/examples/web/models/models_mesh_picking.png new file mode 100644 index 00000000..045db585 Binary files /dev/null and b/docs/examples/web/models/models_mesh_picking.png differ diff --git a/docs/examples/web/models/models_obj_loading.png b/docs/examples/web/models/models_obj_loading.png new file mode 100644 index 00000000..560348b4 Binary files /dev/null and b/docs/examples/web/models/models_obj_loading.png differ diff --git a/docs/examples/web/physac/loader.html b/docs/examples/web/physac/loader.html new file mode 100644 index 00000000..c5e18be0 --- /dev/null +++ b/docs/examples/web/physac/loader.html @@ -0,0 +1,210 @@ + + + + loading... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git a/docs/examples/web/shaders/loader.html b/docs/examples/web/shaders/loader.html new file mode 100644 index 00000000..c5e18be0 --- /dev/null +++ b/docs/examples/web/shaders/loader.html @@ -0,0 +1,210 @@ + + + + loading... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git a/docs/examples/web/shaders/shaders_custom_uniform.png b/docs/examples/web/shaders/shaders_custom_uniform.png new file mode 100644 index 00000000..dfddc3a7 Binary files /dev/null and b/docs/examples/web/shaders/shaders_custom_uniform.png differ diff --git a/docs/examples/web/shaders/shaders_model_shader.png b/docs/examples/web/shaders/shaders_model_shader.png new file mode 100644 index 00000000..b829dea5 Binary files /dev/null and b/docs/examples/web/shaders/shaders_model_shader.png differ diff --git a/docs/examples/web/shaders/shaders_postprocessing.png b/docs/examples/web/shaders/shaders_postprocessing.png new file mode 100644 index 00000000..684cbd41 Binary files /dev/null and b/docs/examples/web/shaders/shaders_postprocessing.png differ diff --git a/docs/examples/web/shaders/shaders_shapes_textures.png b/docs/examples/web/shaders/shaders_shapes_textures.png new file mode 100644 index 00000000..63a2283c Binary files /dev/null and b/docs/examples/web/shaders/shaders_shapes_textures.png differ diff --git a/docs/examples/web/shapes/loader.html b/docs/examples/web/shapes/loader.html new file mode 100644 index 00000000..c5e18be0 --- /dev/null +++ b/docs/examples/web/shapes/loader.html @@ -0,0 +1,210 @@ + + + + loading... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git a/docs/examples/web/text/loader.html b/docs/examples/web/text/loader.html new file mode 100644 index 00000000..c5e18be0 --- /dev/null +++ b/docs/examples/web/text/loader.html @@ -0,0 +1,210 @@ + + + + loading... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git a/docs/examples/web/textures/loader.html b/docs/examples/web/textures/loader.html new file mode 100644 index 00000000..c5e18be0 --- /dev/null +++ b/docs/examples/web/textures/loader.html @@ -0,0 +1,210 @@ + + + + loading... + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + +
+ + + + + + + + + \ No newline at end of file diff --git a/docs/examples/web/textures/textures_particles__blending.png b/docs/examples/web/textures/textures_particles__blending.png deleted file mode 100644 index b0c40fd2..00000000 Binary files a/docs/examples/web/textures/textures_particles__blending.png and /dev/null 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 -- cgit v1.2.3 From 1df7a8b4a6833d0589470f42db97cc7a423dca0b Mon Sep 17 00:00:00 2001 From: Ray Date: Thu, 20 Apr 2017 18:09:30 +0200 Subject: Update some files --- docs/examples/web/textures/resources/scarfy.png | Bin 21597 -> 33146 bytes examples/textures/resources/scarfy.png | Bin 21597 -> 33146 bytes src/textures.c | 2 ++ 3 files changed, 2 insertions(+) (limited to 'docs/examples') diff --git a/docs/examples/web/textures/resources/scarfy.png b/docs/examples/web/textures/resources/scarfy.png index a377a712..beb5ffa0 100644 Binary files a/docs/examples/web/textures/resources/scarfy.png and b/docs/examples/web/textures/resources/scarfy.png differ diff --git a/examples/textures/resources/scarfy.png b/examples/textures/resources/scarfy.png index a377a712..beb5ffa0 100644 Binary files a/examples/textures/resources/scarfy.png and b/examples/textures/resources/scarfy.png differ diff --git a/src/textures.c b/src/textures.c index 9fd5944e..af95f9dc 100644 --- a/src/textures.c +++ b/src/textures.c @@ -379,6 +379,8 @@ Texture2D LoadTextureFromImage(Image image) texture.height = image.height; texture.mipmaps = image.mipmaps; texture.format = image.format; + + TraceLog(INFO, "[TEX %i] Parameters: %ix%i, %i mips, format %i", texture.width, texture.height, texture.mipmaps, texture.format); return texture; } -- cgit v1.2.3 From b0f8ea27e3d7417c0f0c9795aa315dac399c97bf Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sat, 22 Apr 2017 19:04:54 +0200 Subject: Renamed function for lib consistency LoadSpriteFontTTF() --> LoadSpriteFontEx() --- docs/examples/src/text/text_ttf_loading.c | 4 ++-- docs/examples/web/text/text_ttf_loading.c | 4 ++-- docs/examples/web/textures/textures_raw_data.c | 2 +- examples/text/text_ttf_loading.c | 4 ++-- src/raylib.h | 2 +- src/text.c | 4 ++-- 6 files changed, 10 insertions(+), 10 deletions(-) (limited to 'docs/examples') diff --git a/docs/examples/src/text/text_ttf_loading.c b/docs/examples/src/text/text_ttf_loading.c index 4e490399..02b7f95f 100644 --- a/docs/examples/src/text/text_ttf_loading.c +++ b/docs/examples/src/text/text_ttf_loading.c @@ -25,7 +25,7 @@ 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/KAISG.ttf", 96, 0, 0); + SpriteFont font = LoadSpriteFontEx("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 @@ -82,7 +82,7 @@ int main() if (count == 1) // Only support one ttf file dropped { UnloadSpriteFont(font); - font = LoadSpriteFontTTF(droppedFiles[0], fontSize, 0, 0); + font = LoadSpriteFontEx(droppedFiles[0], fontSize, 0, 0); ClearDroppedFiles(); } } diff --git a/docs/examples/web/text/text_ttf_loading.c b/docs/examples/web/text/text_ttf_loading.c index 9dfdcac2..02097437 100644 --- a/docs/examples/web/text/text_ttf_loading.c +++ b/docs/examples/web/text/text_ttf_loading.c @@ -52,7 +52,7 @@ int main() // NOTE: Textures/Fonts MUST be loaded after Window initialization (OpenGL context is required) // TTF SpriteFont loading with custom generation parameters - font = LoadSpriteFontTTF("resources/KAISG.ttf", 96, 0, 0); + font = LoadSpriteFontEx("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 @@ -130,7 +130,7 @@ void UpdateDrawFrame(void) if (count == 1) // Only support one ttf file dropped { UnloadSpriteFont(font); - font = LoadSpriteFontTTF(droppedFiles[0], fontSize, 0, 0); + font = LoadSpriteFontEx(droppedFiles[0], fontSize, 0, 0); ClearDroppedFiles(); } } diff --git a/docs/examples/web/textures/textures_raw_data.c b/docs/examples/web/textures/textures_raw_data.c index 245af2e3..f06c798b 100644 --- a/docs/examples/web/textures/textures_raw_data.c +++ b/docs/examples/web/textures/textures_raw_data.c @@ -111,7 +111,7 @@ void UpdateDrawFrame(void) ClearBackground(RAYWHITE); - DrawTexture(checked, screenWidth/2 - checked.width/2, screenHeight/2 - checked.height/2, 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, BROWN); diff --git a/examples/text/text_ttf_loading.c b/examples/text/text_ttf_loading.c index 4e490399..02b7f95f 100644 --- a/examples/text/text_ttf_loading.c +++ b/examples/text/text_ttf_loading.c @@ -25,7 +25,7 @@ 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/KAISG.ttf", 96, 0, 0); + SpriteFont font = LoadSpriteFontEx("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 @@ -82,7 +82,7 @@ int main() if (count == 1) // Only support one ttf file dropped { UnloadSpriteFont(font); - font = LoadSpriteFontTTF(droppedFiles[0], fontSize, 0, 0); + font = LoadSpriteFontEx(droppedFiles[0], fontSize, 0, 0); ClearDroppedFiles(); } } diff --git a/src/raylib.h b/src/raylib.h index 286494c7..41e1ccb7 100644 --- a/src/raylib.h +++ b/src/raylib.h @@ -867,7 +867,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 charsCount, int *fontChars); // Load SpriteFont from TTF font file with generation parameters +RLAPI SpriteFont LoadSpriteFontEx(const char *fileName, int fontSize, int charsCount, int *fontChars); // Load SpriteFont from file with extended 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) diff --git a/src/text.c b/src/text.c index ebc8b0ff..cba9a7d6 100644 --- a/src/text.c +++ b/src/text.c @@ -316,7 +316,7 @@ SpriteFont LoadSpriteFont(const char *fileName) //UnloadResource(rres[0]); } #if defined(SUPPORT_FILEFORMAT_TTF) - else if (IsFileExtension(fileName, ".ttf")) spriteFont = LoadSpriteFontTTF(fileName, DEFAULT_TTF_FONTSIZE, 0, NULL); + else if (IsFileExtension(fileName, ".ttf")) spriteFont = LoadSpriteFontEx(fileName, DEFAULT_TTF_FONTSIZE, 0, NULL); #endif #if defined(SUPPORT_FILEFORMAT_FNT) else if (IsFileExtension(fileName, ".fnt")) spriteFont = LoadBMFont(fileName); @@ -341,7 +341,7 @@ SpriteFont LoadSpriteFont(const char *fileName) // Load SpriteFont from TTF font file with generation parameters // NOTE: You can pass an array with desired characters, those characters should be available in the font // if array is NULL, default char set is selected 32..126 -SpriteFont LoadSpriteFontTTF(const char *fileName, int fontSize, int charsCount, int *fontChars) +SpriteFont LoadSpriteFontEx(const char *fileName, int fontSize, int charsCount, int *fontChars) { SpriteFont spriteFont = { 0 }; -- cgit v1.2.3 From 332f3b4f9d58eabf54f44a348de24d73d728f560 Mon Sep 17 00:00:00 2001 From: raysan5 Date: Sun, 23 Apr 2017 19:24:39 +0200 Subject: Set canvas background to black... ..to avoid blending issues with white background --- docs/examples/web/audio/loader.html | 2 +- docs/examples/web/core/loader.html | 2 +- docs/examples/web/models/loader.html | 2 +- docs/examples/web/physac/loader.html | 2 +- docs/examples/web/shaders/loader.html | 2 +- docs/examples/web/shapes/loader.html | 2 +- docs/examples/web/text/loader.html | 2 +- docs/examples/web/textures/loader.html | 2 +- templates/web_shell/shell.html | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) (limited to 'docs/examples') diff --git a/docs/examples/web/audio/loader.html b/docs/examples/web/audio/loader.html index c5e18be0..93d7260f 100644 --- a/docs/examples/web/audio/loader.html +++ b/docs/examples/web/audio/loader.html @@ -36,7 +36,7 @@ } #eximage { width: 802px; height: 452px; text-align: center; } #eximage img { margin: 0 auto; border: 1px solid; border-color: black; } - #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; } + #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; background: black; } pre { width: 802px!important;} pre code{ border: 1px solid; border-color:#b0b0b0; height:auto; } .exdownbtn{ margin-right: 20px; width:220px; height:30px; float:left; position: relative; cursor:pointer; font-weight:bold; font-size:10px; diff --git a/docs/examples/web/core/loader.html b/docs/examples/web/core/loader.html index c5e18be0..93d7260f 100644 --- a/docs/examples/web/core/loader.html +++ b/docs/examples/web/core/loader.html @@ -36,7 +36,7 @@ } #eximage { width: 802px; height: 452px; text-align: center; } #eximage img { margin: 0 auto; border: 1px solid; border-color: black; } - #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; } + #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; background: black; } pre { width: 802px!important;} pre code{ border: 1px solid; border-color:#b0b0b0; height:auto; } .exdownbtn{ margin-right: 20px; width:220px; height:30px; float:left; position: relative; cursor:pointer; font-weight:bold; font-size:10px; diff --git a/docs/examples/web/models/loader.html b/docs/examples/web/models/loader.html index c5e18be0..93d7260f 100644 --- a/docs/examples/web/models/loader.html +++ b/docs/examples/web/models/loader.html @@ -36,7 +36,7 @@ } #eximage { width: 802px; height: 452px; text-align: center; } #eximage img { margin: 0 auto; border: 1px solid; border-color: black; } - #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; } + #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; background: black; } pre { width: 802px!important;} pre code{ border: 1px solid; border-color:#b0b0b0; height:auto; } .exdownbtn{ margin-right: 20px; width:220px; height:30px; float:left; position: relative; cursor:pointer; font-weight:bold; font-size:10px; diff --git a/docs/examples/web/physac/loader.html b/docs/examples/web/physac/loader.html index c5e18be0..93d7260f 100644 --- a/docs/examples/web/physac/loader.html +++ b/docs/examples/web/physac/loader.html @@ -36,7 +36,7 @@ } #eximage { width: 802px; height: 452px; text-align: center; } #eximage img { margin: 0 auto; border: 1px solid; border-color: black; } - #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; } + #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; background: black; } pre { width: 802px!important;} pre code{ border: 1px solid; border-color:#b0b0b0; height:auto; } .exdownbtn{ margin-right: 20px; width:220px; height:30px; float:left; position: relative; cursor:pointer; font-weight:bold; font-size:10px; diff --git a/docs/examples/web/shaders/loader.html b/docs/examples/web/shaders/loader.html index c5e18be0..93d7260f 100644 --- a/docs/examples/web/shaders/loader.html +++ b/docs/examples/web/shaders/loader.html @@ -36,7 +36,7 @@ } #eximage { width: 802px; height: 452px; text-align: center; } #eximage img { margin: 0 auto; border: 1px solid; border-color: black; } - #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; } + #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; background: black; } pre { width: 802px!important;} pre code{ border: 1px solid; border-color:#b0b0b0; height:auto; } .exdownbtn{ margin-right: 20px; width:220px; height:30px; float:left; position: relative; cursor:pointer; font-weight:bold; font-size:10px; diff --git a/docs/examples/web/shapes/loader.html b/docs/examples/web/shapes/loader.html index c5e18be0..93d7260f 100644 --- a/docs/examples/web/shapes/loader.html +++ b/docs/examples/web/shapes/loader.html @@ -36,7 +36,7 @@ } #eximage { width: 802px; height: 452px; text-align: center; } #eximage img { margin: 0 auto; border: 1px solid; border-color: black; } - #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; } + #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; background: black; } pre { width: 802px!important;} pre code{ border: 1px solid; border-color:#b0b0b0; height:auto; } .exdownbtn{ margin-right: 20px; width:220px; height:30px; float:left; position: relative; cursor:pointer; font-weight:bold; font-size:10px; diff --git a/docs/examples/web/text/loader.html b/docs/examples/web/text/loader.html index c5e18be0..93d7260f 100644 --- a/docs/examples/web/text/loader.html +++ b/docs/examples/web/text/loader.html @@ -36,7 +36,7 @@ } #eximage { width: 802px; height: 452px; text-align: center; } #eximage img { margin: 0 auto; border: 1px solid; border-color: black; } - #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; } + #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; background: black; } pre { width: 802px!important;} pre code{ border: 1px solid; border-color:#b0b0b0; height:auto; } .exdownbtn{ margin-right: 20px; width:220px; height:30px; float:left; position: relative; cursor:pointer; font-weight:bold; font-size:10px; diff --git a/docs/examples/web/textures/loader.html b/docs/examples/web/textures/loader.html index c5e18be0..93d7260f 100644 --- a/docs/examples/web/textures/loader.html +++ b/docs/examples/web/textures/loader.html @@ -36,7 +36,7 @@ } #eximage { width: 802px; height: 452px; text-align: center; } #eximage img { margin: 0 auto; border: 1px solid; border-color: black; } - #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; } + #eximage canvas { position: relative; top: 1px; left: 1px; border: 1px solid red; background: black; } pre { width: 802px!important;} pre code{ border: 1px solid; border-color:#b0b0b0; height:auto; } .exdownbtn{ margin-right: 20px; width:220px; height:30px; float:left; position: relative; cursor:pointer; font-weight:bold; font-size:10px; diff --git a/templates/web_shell/shell.html b/templates/web_shell/shell.html index d602b5b5..d9a3c49e 100644 --- a/templates/web_shell/shell.html +++ b/templates/web_shell/shell.html @@ -57,7 +57,7 @@ div.emscripten_border { border: 1px solid black; } /* the canvas *must not* have any border or padding, or mouse coords will be wrong */ - canvas.emscripten { border: 0px none; } + canvas.emscripten { border: 0px none; background: black; } #emscripten_logo { display: inline-block; -- cgit v1.2.3