├── LICENSE ├── README.md ├── dharma └── wasm.dg ├── example_wasm_api.js └── fuzzing_d8_asan.sh /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2019 Patrick Ventuzelo 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Full blogpost + video 2 | 3 | Check [Fuzzing V8 Engine JavaScript WebAssembly API using Dharma](https://academy.fuzzinglabs.com/fuzzing-v8-engine-javascript-webassembly-api-using-dharma) 4 | 5 | # Dharma WebAssembly grammar 6 | 7 | Available [here](dharma/wasm.dg). 8 | 9 | Result example [here](example_wasm_api.js) 10 | 11 | # Trainings & Contact 12 | 13 | Patrick Ventuzelo - [@pat_ventuzelo](https://twitter.com/pat_ventuzelo) 14 | * Independent Security Researcher / Trainer. 15 | * FREE online courses: [here](https://academy.fuzzinglabs.com/) 16 | -------------------------------------------------------------------------------- /dharma/wasm.dg: -------------------------------------------------------------------------------- 1 | %%% ########################################### 2 | %%% ############# WebAssembly ################# 3 | %%% ## https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly 4 | %%% ############# 5 | 6 | %const% VARIANCE_MIN := 200 7 | %const% VARIANCE_MAX := 1000 8 | %const% VARIABLE_MIN := 4 9 | %const% VARIABLE_MAX := 15 10 | 11 | %%% #################################################### 12 | %%% #################################################### 13 | %%% ####### VALUE SECTION 14 | %%% ####### only definition of value 15 | %%% ####### you can use & assign value: +value+ 16 | %%% ####### you can use variable: !variable!.bar(); 17 | %%% #################################################### 18 | %%% #################################################### 19 | 20 | %section% := value 21 | 22 | %%% ######## WebAssembly.Global() values ########### 23 | %%% ## https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Global 24 | 25 | WasmTypeInt := 26 | "i32" 27 | "i64" 28 | 29 | WasmTypeFloat := 30 | "f32" 31 | "f64" 32 | 33 | GlobalDescriptorFloat := 34 | {value: +WasmTypeFloat+, mutable: +common:bool+} 35 | 36 | GlobalDescriptorInt := 37 | {value: +WasmTypeInt+, mutable: +common:bool+} 38 | 39 | GlobalParameters := 40 | +GlobalDescriptorFloat+, +common:decimal_number+ 41 | +GlobalDescriptorInt+, +common:integer+ 42 | 43 | GlobalWasmMethods := 44 | !globalwasm!.value = !number!; 45 | !globalwasm!.value = +common:number+; 46 | !number! = !globalwasm!.value; 47 | !number! = !globalwasm!.valueOf(); 48 | !string! = !globalwasm!.toString(); 49 | 50 | 51 | %%% delete !globalwasm!; 52 | 53 | %%% ############# WebAssembly.Table() ################# 54 | %%% ## https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Table 55 | 56 | TableDescriptor := 57 | {element: "anyfunc", initial: %range%(0-42)} 58 | {element: "anyfunc", initial: %range%(0-42), maximum: %range%(43-99)} 59 | 60 | TableWasmMethods := 61 | !number! = !tablewasm!.length - 1; 62 | !funcRef! = !tablewasm!.get(%range%(0-42)); 63 | !funcRef! = !tablewasm!.get(!number!); 64 | !number! = !tablewasm!.grow(%range%(0-42)); 65 | !number! = !tablewasm!.grow(!number!); 66 | !tablewasm!.set(%range%(0-42), !funcRef!); 67 | !tablewasm!.set(!number!, !funcRef!); 68 | %%% delete !tablewasm!; 69 | 70 | %%% ############# WebAssembly.Memory() ################# 71 | %%% ## https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Memory 72 | 73 | memoryDescriptor := 74 | {initial: %range%(0-9)} 75 | {initial: %range%(0-9), maximum: %range%(9-999)} 76 | 77 | MemoryWasmMethods := 78 | !number! = !memorywasm!.buffer.length - 1; 79 | !array! = !memorywasm!.buffer; 80 | !number! = !memorywasm!.grow(!number!); 81 | !number! = !memorywasm!.grow(%range%(0-9)); 82 | !memorywasm!.buffer[%range%(0-9)] = %range%(0-9); 83 | !memorywasm!.buffer[!number!] = %range%(0-9); 84 | !memorywasm!.buffer[!number!] = !number!; 85 | for (var i = 0; i < !memorywasm!.buffer.length; i++) {!memorywasm!.buffer[i] = %range%(0-9);} 86 | for (var i = 0; i < !memorywasm!.buffer.length; i++) {!memorywasm!.buffer[i] = +common:number+;} 87 | %%% delete !memorywasm!; 88 | 89 | %%% ############# WebAssembly.Module() ################# 90 | %%% ## https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Module 91 | 92 | %%% hello world module with main function exported 93 | bufferSource := 94 | new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11]) 95 | 96 | SectionName := 97 | "name" 98 | "" 99 | "debug" 100 | 101 | ModuleWasmMethods := 102 | !array! = WebAssembly.Module.customSections(!modulewasm!, +SectionName+); 103 | !array! = WebAssembly.Module.customSections(!modulewasm!, !string!); 104 | !array! = WebAssembly.Module.exports(!modulewasm!); 105 | !string! = WebAssembly.Module.exports(!modulewasm!).toString(); 106 | !array! = WebAssembly.Module.imports(!modulewasm!); 107 | !string! = WebAssembly.Module.imports(!modulewasm!).toString(); 108 | !modulewasm! = new WebAssembly.Module(+bufferSource+); 109 | %%% delete !modulewasm!; 110 | 111 | %%% ############# WebAssembly.Instance() ################# 112 | %%% ## https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Instance 113 | 114 | importObject := 115 | {} 116 | { js: { !globalwasm! } } 117 | { js: { tbl: !tablewasm! } } 118 | { js: { mem: !memorywasm! } } 119 | 120 | InstanceWasmMethods := 121 | !instancewasm!.exports.main(); 122 | !memorywasm! = !instancewasm!.exports.memory; 123 | !instancewasm! = new WebAssembly.Instance(!modulewasm!, +importObject+); 124 | %%% delete !instancewasm!; 125 | %%% TODO instantiateStreaming 126 | 127 | %%% ############# WebAssembly Methods ################# 128 | %%% ## https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly#Methods 129 | 130 | WasmMethods := 131 | !bool! = WebAssembly.validate(+bufferSource+); 132 | WebAssembly.compile(+bufferSource+); 133 | %%% TODO compileStreaming 134 | 135 | 136 | %%% ############# Wrapper ################# 137 | 138 | wrapper := 139 | +GlobalWasmMethods+ 140 | +TableWasmMethods+ 141 | +MemoryWasmMethods+ 142 | +ModuleWasmMethods+ 143 | +InstanceWasmMethods+ 144 | %%% +WasmMethods+ 145 | 146 | %%% #################################################### 147 | %%% #################################################### 148 | %%% ####### VARIABLE SECTION 149 | %%% ####### only assignement of variable here 150 | %%% ####### ex: @MyVariable@= 5; 151 | %%% #################################################### 152 | %%% #################################################### 153 | 154 | %section% := variable 155 | 156 | bool := 157 | try { var @bool@ = true; } catch(e) {} 158 | try { var @bool@ = false; } catch(e) {} 159 | 160 | number := 161 | try { var @number@ = %range%(0-42); } catch(e) {} 162 | 163 | string := 164 | try { var @string@ = "main"; } catch(e) {} 165 | 166 | array := 167 | try { var @array@ = []; } catch(e) {} 168 | 169 | funcRef := 170 | try { var @funcRef@ = 0; } catch(e) {} 171 | 172 | globalwasm := 173 | try { var @globalwasm@ = new WebAssembly.Global(+GlobalParameters+); } catch(e) {} 174 | 175 | tablewasm := 176 | try { var @tablewasm@ = new WebAssembly.Table(+TableDescriptor+); } catch(e) {} 177 | 178 | memorywasm := 179 | try { var @memorywasm@ = new WebAssembly.Memory(+memoryDescriptor+); } catch(e) {} 180 | 181 | modulewasm := 182 | try { var @modulewasm@ = new WebAssembly.Module(+bufferSource+); } catch(e) {} 183 | 184 | instancewasm := 185 | try { var @instancewasm@ = new WebAssembly.Instance(!modulewasm!, +importObject+); } catch(e) {} 186 | 187 | %%% #################################################### 188 | %%% #################################################### 189 | %%% ####### VARIANCE SECTION 190 | %%% #################################################### 191 | %%% #################################################### 192 | %section% := variance 193 | 194 | main := 195 | try { +wrapper+ } catch(e) {} -------------------------------------------------------------------------------- /example_wasm_api.js: -------------------------------------------------------------------------------- 1 | try { var number1 = 1; } catch(e) {} 2 | try { var number2 = 7; } catch(e) {} 3 | try { var number3 = 37; } catch(e) {} 4 | try { var number4 = 10; } catch(e) {} 5 | try { var number5 = 34; } catch(e) {} 6 | try { var number6 = 35; } catch(e) {} 7 | try { var number7 = 36; } catch(e) {} 8 | try { var number8 = 10; } catch(e) {} 9 | try { var number9 = 29; } catch(e) {} 10 | try { var number10 = 8; } catch(e) {} 11 | try { var number11 = 31; } catch(e) {} 12 | try { var number12 = 9; } catch(e) {} 13 | try { var number13 = 8; } catch(e) {} 14 | try { var number14 = 42; } catch(e) {} 15 | try { var number15 = 20; } catch(e) {} 16 | 17 | try { var string1 = "main"; } catch(e) {} 18 | try { var string2 = "main"; } catch(e) {} 19 | try { var string3 = "main"; } catch(e) {} 20 | try { var string4 = "main"; } catch(e) {} 21 | try { var string5 = "main"; } catch(e) {} 22 | try { var string6 = "main"; } catch(e) {} 23 | try { var string7 = "main"; } catch(e) {} 24 | try { var string8 = "main"; } catch(e) {} 25 | try { var string9 = "main"; } catch(e) {} 26 | try { var string10 = "main"; } catch(e) {} 27 | try { var string11 = "main"; } catch(e) {} 28 | try { var string12 = "main"; } catch(e) {} 29 | try { var string13 = "main"; } catch(e) {} 30 | try { var string14 = "main"; } catch(e) {} 31 | try { var string15 = "main"; } catch(e) {} 32 | 33 | try { var array1 = []; } catch(e) {} 34 | try { var array2 = []; } catch(e) {} 35 | try { var array3 = []; } catch(e) {} 36 | try { var array4 = []; } catch(e) {} 37 | try { var array5 = []; } catch(e) {} 38 | try { var array6 = []; } catch(e) {} 39 | try { var array7 = []; } catch(e) {} 40 | try { var array8 = []; } catch(e) {} 41 | try { var array9 = []; } catch(e) {} 42 | try { var array10 = []; } catch(e) {} 43 | try { var array11 = []; } catch(e) {} 44 | try { var array12 = []; } catch(e) {} 45 | try { var array13 = []; } catch(e) {} 46 | try { var array14 = []; } catch(e) {} 47 | try { var array15 = []; } catch(e) {} 48 | 49 | try { var funcRef1 = 0; } catch(e) {} 50 | try { var funcRef2 = 0; } catch(e) {} 51 | try { var funcRef3 = 0; } catch(e) {} 52 | try { var funcRef4 = 0; } catch(e) {} 53 | try { var funcRef5 = 0; } catch(e) {} 54 | try { var funcRef6 = 0; } catch(e) {} 55 | try { var funcRef7 = 0; } catch(e) {} 56 | try { var funcRef8 = 0; } catch(e) {} 57 | try { var funcRef9 = 0; } catch(e) {} 58 | try { var funcRef10 = 0; } catch(e) {} 59 | try { var funcRef11 = 0; } catch(e) {} 60 | try { var funcRef12 = 0; } catch(e) {} 61 | try { var funcRef13 = 0; } catch(e) {} 62 | try { var funcRef14 = 0; } catch(e) {} 63 | try { var funcRef15 = 0; } catch(e) {} 64 | 65 | try { var globalwasm1 = new WebAssembly.Global({value: "f64", mutable: true}, +20251.2); } catch(e) {} 66 | try { var globalwasm2 = new WebAssembly.Global({value: "i64", mutable: true}, 61); } catch(e) {} 67 | try { var globalwasm3 = new WebAssembly.Global({value: "i32", mutable: false}, 1305219838); } catch(e) {} 68 | try { var globalwasm4 = new WebAssembly.Global({value: "f32", mutable: true}, 5.5); } catch(e) {} 69 | try { var globalwasm5 = new WebAssembly.Global({value: "i32", mutable: false}, 58552); } catch(e) {} 70 | try { var globalwasm6 = new WebAssembly.Global({value: "f32", mutable: false}, 3065109657.7); } catch(e) {} 71 | try { var globalwasm7 = new WebAssembly.Global({value: "i32", mutable: true}, -9); } catch(e) {} 72 | try { var globalwasm8 = new WebAssembly.Global({value: "i32", mutable: true}, 0); } catch(e) {} 73 | try { var globalwasm9 = new WebAssembly.Global({value: "f64", mutable: true}, 8155.1); } catch(e) {} 74 | try { var globalwasm10 = new WebAssembly.Global({value: "i32", mutable: false}, -152); } catch(e) {} 75 | try { var globalwasm11 = new WebAssembly.Global({value: "f32", mutable: false}, 8.4); } catch(e) {} 76 | try { var globalwasm12 = new WebAssembly.Global({value: "i32", mutable: false}, -1765427381); } catch(e) {} 77 | try { var globalwasm13 = new WebAssembly.Global({value: "i32", mutable: false}, 653231669); } catch(e) {} 78 | try { var globalwasm14 = new WebAssembly.Global({value: "f64", mutable: false}, 2.9406532909534639304534122558827727768543); } catch(e) {} 79 | try { var globalwasm15 = new WebAssembly.Global({value: "f32", mutable: true}, -22876.9); } catch(e) {} 80 | 81 | try { var tablewasm1 = new WebAssembly.Table({element: "anyfunc", initial: 14, maximum: 66}); } catch(e) {} 82 | try { var tablewasm2 = new WebAssembly.Table({element: "anyfunc", initial: 36}); } catch(e) {} 83 | try { var tablewasm3 = new WebAssembly.Table({element: "anyfunc", initial: 34}); } catch(e) {} 84 | try { var tablewasm4 = new WebAssembly.Table({element: "anyfunc", initial: 12, maximum: 73}); } catch(e) {} 85 | try { var tablewasm5 = new WebAssembly.Table({element: "anyfunc", initial: 26}); } catch(e) {} 86 | try { var tablewasm6 = new WebAssembly.Table({element: "anyfunc", initial: 32, maximum: 56}); } catch(e) {} 87 | try { var tablewasm7 = new WebAssembly.Table({element: "anyfunc", initial: 33, maximum: 47}); } catch(e) {} 88 | try { var tablewasm8 = new WebAssembly.Table({element: "anyfunc", initial: 35}); } catch(e) {} 89 | try { var tablewasm9 = new WebAssembly.Table({element: "anyfunc", initial: 41, maximum: 77}); } catch(e) {} 90 | try { var tablewasm10 = new WebAssembly.Table({element: "anyfunc", initial: 13}); } catch(e) {} 91 | try { var tablewasm11 = new WebAssembly.Table({element: "anyfunc", initial: 16, maximum: 98}); } catch(e) {} 92 | try { var tablewasm12 = new WebAssembly.Table({element: "anyfunc", initial: 23}); } catch(e) {} 93 | try { var tablewasm13 = new WebAssembly.Table({element: "anyfunc", initial: 28, maximum: 94}); } catch(e) {} 94 | try { var tablewasm14 = new WebAssembly.Table({element: "anyfunc", initial: 28, maximum: 65}); } catch(e) {} 95 | try { var tablewasm15 = new WebAssembly.Table({element: "anyfunc", initial: 2}); } catch(e) {} 96 | 97 | try { var memorywasm1 = new WebAssembly.Memory({initial: 9}); } catch(e) {} 98 | try { var memorywasm2 = new WebAssembly.Memory({initial: 0, maximum: 562}); } catch(e) {} 99 | try { var memorywasm3 = new WebAssembly.Memory({initial: 6, maximum: 930}); } catch(e) {} 100 | try { var memorywasm4 = new WebAssembly.Memory({initial: 0}); } catch(e) {} 101 | try { var memorywasm5 = new WebAssembly.Memory({initial: 6, maximum: 526}); } catch(e) {} 102 | try { var memorywasm6 = new WebAssembly.Memory({initial: 6}); } catch(e) {} 103 | try { var memorywasm7 = new WebAssembly.Memory({initial: 4, maximum: 127}); } catch(e) {} 104 | try { var memorywasm8 = new WebAssembly.Memory({initial: 5}); } catch(e) {} 105 | try { var memorywasm9 = new WebAssembly.Memory({initial: 0}); } catch(e) {} 106 | try { var memorywasm10 = new WebAssembly.Memory({initial: 2, maximum: 200}); } catch(e) {} 107 | try { var memorywasm11 = new WebAssembly.Memory({initial: 5, maximum: 710}); } catch(e) {} 108 | try { var memorywasm12 = new WebAssembly.Memory({initial: 2}); } catch(e) {} 109 | try { var memorywasm13 = new WebAssembly.Memory({initial: 7}); } catch(e) {} 110 | try { var memorywasm14 = new WebAssembly.Memory({initial: 2}); } catch(e) {} 111 | try { var memorywasm15 = new WebAssembly.Memory({initial: 9, maximum: 548}); } catch(e) {} 112 | 113 | try { var modulewasm1 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 114 | try { var modulewasm2 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 115 | try { var modulewasm3 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 116 | try { var modulewasm4 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 117 | try { var modulewasm5 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 118 | try { var modulewasm6 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 119 | try { var modulewasm7 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 120 | try { var modulewasm8 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 121 | try { var modulewasm9 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 122 | try { var modulewasm10 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 123 | try { var modulewasm11 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 124 | try { var modulewasm12 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 125 | try { var modulewasm13 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 126 | try { var modulewasm14 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 127 | try { var modulewasm15 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 128 | 129 | try { var instancewasm1 = new WebAssembly.Instance(modulewasm3, {}); } catch(e) {} 130 | try { var instancewasm2 = new WebAssembly.Instance(modulewasm3, { js: { globalwasm5 } }); } catch(e) {} 131 | try { var instancewasm3 = new WebAssembly.Instance(modulewasm8, {}); } catch(e) {} 132 | try { var instancewasm4 = new WebAssembly.Instance(modulewasm9, { js: { globalwasm9 } }); } catch(e) {} 133 | try { var instancewasm5 = new WebAssembly.Instance(modulewasm10, {}); } catch(e) {} 134 | try { var instancewasm6 = new WebAssembly.Instance(modulewasm7, { js: { mem: memorywasm4 } }); } catch(e) {} 135 | try { var instancewasm7 = new WebAssembly.Instance(modulewasm9, { js: { globalwasm10 } }); } catch(e) {} 136 | try { var instancewasm8 = new WebAssembly.Instance(modulewasm8, { js: { globalwasm2 } }); } catch(e) {} 137 | try { var instancewasm9 = new WebAssembly.Instance(modulewasm11, { js: { globalwasm4 } }); } catch(e) {} 138 | try { var instancewasm10 = new WebAssembly.Instance(modulewasm3, { js: { mem: memorywasm3 } }); } catch(e) {} 139 | try { var instancewasm11 = new WebAssembly.Instance(modulewasm5, { js: { tbl: tablewasm4 } }); } catch(e) {} 140 | try { var instancewasm12 = new WebAssembly.Instance(modulewasm10, { js: { tbl: tablewasm13 } }); } catch(e) {} 141 | try { var instancewasm13 = new WebAssembly.Instance(modulewasm13, {}); } catch(e) {} 142 | try { var instancewasm14 = new WebAssembly.Instance(modulewasm2, { js: { mem: memorywasm11 } }); } catch(e) {} 143 | try { var instancewasm15 = new WebAssembly.Instance(modulewasm8, { js: { globalwasm2 } }); } catch(e) {} 144 | 145 | try { array1 = WebAssembly.Module.exports(modulewasm1); } catch(e) {} 146 | try { string1 = WebAssembly.Module.exports(modulewasm2).toString(); } catch(e) {} 147 | try { memorywasm1 = instancewasm1.exports.memory; } catch(e) {} 148 | try { number1 = globalwasm1.value; } catch(e) {} 149 | try { number2 = globalwasm2.value; } catch(e) {} 150 | try { number3 = globalwasm3.valueOf(); } catch(e) {} 151 | try { number4 = memorywasm2.buffer.length - 1; } catch(e) {} 152 | try { string2 = WebAssembly.Module.imports(modulewasm4).toString(); } catch(e) {} 153 | try { number5 = globalwasm4.valueOf(); } catch(e) {} 154 | try { memorywasm3 = instancewasm2.exports.memory; } catch(e) {} 155 | try { for (var i = 0; i < memorywasm4.buffer.length; i++) {memorywasm5.buffer[i] = 3;} } catch(e) {} 156 | try { array2 = WebAssembly.Module.exports(modulewasm5); } catch(e) {} 157 | try { number6 = memorywasm6.grow(6); } catch(e) {} 158 | try { string3 = WebAssembly.Module.imports(modulewasm6).toString(); } catch(e) {} 159 | try { number7 = globalwasm6.valueOf(); } catch(e) {} 160 | try { array3 = WebAssembly.Module.exports(modulewasm7); } catch(e) {} 161 | try { number2 = tablewasm1.length - 1; } catch(e) {} 162 | try { memorywasm6 = instancewasm3.exports.memory; } catch(e) {} 163 | try { number5 = tablewasm2.length - 1; } catch(e) {} 164 | try { number7 = tablewasm3.length - 1; } catch(e) {} 165 | try { string4 = globalwasm7.toString(); } catch(e) {} 166 | try { for (var i = 0; i < memorywasm7.buffer.length; i++) {memorywasm8.buffer[i] = 6541.9;} } catch(e) {} 167 | try { funcRef1 = tablewasm4.get(34); } catch(e) {} 168 | try { number8 = tablewasm5.length - 1; } catch(e) {} 169 | try { number9 = memorywasm9.grow(number10); } catch(e) {} 170 | try { number8 = globalwasm1.valueOf(); } catch(e) {} 171 | try { number3 = globalwasm7.value; } catch(e) {} 172 | try { globalwasm8.value = number10; } catch(e) {} 173 | try { string5 = WebAssembly.Module.imports(modulewasm3).toString(); } catch(e) {} 174 | try { memorywasm10 = instancewasm4.exports.memory; } catch(e) {} 175 | try { memorywasm11 = instancewasm5.exports.memory; } catch(e) {} 176 | try { array4 = memorywasm8.buffer; } catch(e) {} 177 | try { string6 = WebAssembly.Module.exports(modulewasm10).toString(); } catch(e) {} 178 | try { instancewasm6.exports.main(); } catch(e) {} 179 | try { modulewasm11 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 180 | try { funcRef2 = tablewasm6.get(number5); } catch(e) {} 181 | try { instancewasm3 = new WebAssembly.Instance(modulewasm10, { js: { tbl: tablewasm6 } }); } catch(e) {} 182 | try { instancewasm7.exports.main(); } catch(e) {} 183 | try { number10 = tablewasm7.grow(number11); } catch(e) {} 184 | try { instancewasm8 = new WebAssembly.Instance(modulewasm1, {}); } catch(e) {} 185 | try { instancewasm2 = new WebAssembly.Instance(modulewasm1, {}); } catch(e) {} 186 | try { globalwasm4.value = number8; } catch(e) {} 187 | try { globalwasm11.value = 1; } catch(e) {} 188 | try { string7 = globalwasm12.toString(); } catch(e) {} 189 | try { memorywasm7.buffer[number3] = 8; } catch(e) {} 190 | try { number4 = memorywasm12.grow(number12); } catch(e) {} 191 | try { tablewasm8.set(number13, funcRef3); } catch(e) {} 192 | try { array5 = WebAssembly.Module.customSections(modulewasm12, ""); } catch(e) {} 193 | try { array6 = WebAssembly.Module.exports(modulewasm13); } catch(e) {} 194 | try { string8 = WebAssembly.Module.imports(modulewasm3).toString(); } catch(e) {} 195 | try { tablewasm9.set(7, funcRef4); } catch(e) {} 196 | try { number3 = memorywasm12.grow(number1); } catch(e) {} 197 | try { number14 = memorywasm5.buffer.length - 1; } catch(e) {} 198 | try { string3 = WebAssembly.Module.imports(modulewasm6).toString(); } catch(e) {} 199 | try { number1 = globalwasm13.valueOf(); } catch(e) {} 200 | try { string9 = WebAssembly.Module.exports(modulewasm5).toString(); } catch(e) {} 201 | try { number6 = globalwasm6.valueOf(); } catch(e) {} 202 | try { for (var i = 0; i < memorywasm4.buffer.length; i++) {memorywasm13.buffer[i] = 4;} } catch(e) {} 203 | try { array7 = WebAssembly.Module.customSections(modulewasm10, string10); } catch(e) {} 204 | try { number4 = memorywasm13.grow(number12); } catch(e) {} 205 | try { instancewasm9.exports.main(); } catch(e) {} 206 | try { number5 = globalwasm8.value; } catch(e) {} 207 | try { for (var i = 0; i < memorywasm6.buffer.length; i++) {memorywasm11.buffer[i] = 2.6;} } catch(e) {} 208 | try { array8 = WebAssembly.Module.customSections(modulewasm14, string9); } catch(e) {} 209 | try { globalwasm7.value = number11; } catch(e) {} 210 | try { number11 = tablewasm10.grow(number6); } catch(e) {} 211 | try { globalwasm3.value = number13; } catch(e) {} 212 | try { number14 = tablewasm10.grow(16); } catch(e) {} 213 | try { number1 = globalwasm14.valueOf(); } catch(e) {} 214 | try { globalwasm15.value = number6; } catch(e) {} 215 | try { array9 = memorywasm14.buffer; } catch(e) {} 216 | try { globalwasm3.value = number1; } catch(e) {} 217 | try { instancewasm10 = new WebAssembly.Instance(modulewasm6, { js: { globalwasm8 } }); } catch(e) {} 218 | try { memorywasm15 = instancewasm7.exports.memory; } catch(e) {} 219 | try { funcRef5 = tablewasm5.get(number13); } catch(e) {} 220 | try { memorywasm8 = instancewasm8.exports.memory; } catch(e) {} 221 | try { array10 = memorywasm11.buffer; } catch(e) {} 222 | try { memorywasm3.buffer[number14] = 6; } catch(e) {} 223 | try { number6 = memorywasm10.buffer.length - 1; } catch(e) {} 224 | try { string9 = globalwasm9.toString(); } catch(e) {} 225 | try { array11 = memorywasm12.buffer; } catch(e) {} 226 | try { funcRef6 = tablewasm11.get(29); } catch(e) {} 227 | try { string7 = globalwasm2.toString(); } catch(e) {} 228 | try { array12 = WebAssembly.Module.customSections(modulewasm1, string11); } catch(e) {} 229 | try { memorywasm13 = instancewasm9.exports.memory; } catch(e) {} 230 | try { string12 = WebAssembly.Module.exports(modulewasm8).toString(); } catch(e) {} 231 | try { string9 = WebAssembly.Module.imports(modulewasm7).toString(); } catch(e) {} 232 | try { instancewasm7.exports.main(); } catch(e) {} 233 | try { memorywasm13.buffer[6] = 3; } catch(e) {} 234 | try { instancewasm1 = new WebAssembly.Instance(modulewasm3, { js: { mem: memorywasm1 } }); } catch(e) {} 235 | try { array3 = WebAssembly.Module.exports(modulewasm3); } catch(e) {} 236 | try { array6 = WebAssembly.Module.imports(modulewasm7); } catch(e) {} 237 | try { funcRef7 = tablewasm3.get(number4); } catch(e) {} 238 | try { number3 = memorywasm12.grow(number6); } catch(e) {} 239 | try { instancewasm8 = new WebAssembly.Instance(modulewasm6, {}); } catch(e) {} 240 | try { number5 = globalwasm2.value; } catch(e) {} 241 | try { number13 = tablewasm12.grow(5); } catch(e) {} 242 | try { number10 = memorywasm1.grow(number2); } catch(e) {} 243 | try { memorywasm6 = instancewasm1.exports.memory; } catch(e) {} 244 | try { instancewasm11.exports.main(); } catch(e) {} 245 | try { array13 = WebAssembly.Module.imports(modulewasm6); } catch(e) {} 246 | try { for (var i = 0; i < memorywasm13.buffer.length; i++) {memorywasm4.buffer[i] = 215;} } catch(e) {} 247 | try { array5 = WebAssembly.Module.exports(modulewasm13); } catch(e) {} 248 | try { array7 = WebAssembly.Module.customSections(modulewasm15, "name"); } catch(e) {} 249 | try { array2 = WebAssembly.Module.customSections(modulewasm2, ""); } catch(e) {} 250 | try { tablewasm3.set(26, funcRef6); } catch(e) {} 251 | try { number13 = globalwasm13.valueOf(); } catch(e) {} 252 | try { globalwasm11.value = number9; } catch(e) {} 253 | try { string5 = WebAssembly.Module.imports(modulewasm7).toString(); } catch(e) {} 254 | try { memorywasm14.buffer[number2] = 2; } catch(e) {} 255 | try { tablewasm12.set(37, funcRef8); } catch(e) {} 256 | try { instancewasm5 = new WebAssembly.Instance(modulewasm6, { js: { globalwasm4 } }); } catch(e) {} 257 | try { array3 = WebAssembly.Module.customSections(modulewasm3, string1); } catch(e) {} 258 | try { array3 = WebAssembly.Module.customSections(modulewasm14, "debug"); } catch(e) {} 259 | try { funcRef9 = tablewasm2.get(number13); } catch(e) {} 260 | try { memorywasm6 = instancewasm5.exports.memory; } catch(e) {} 261 | try { instancewasm12.exports.main(); } catch(e) {} 262 | try { array1 = WebAssembly.Module.customSections(modulewasm15, "debug"); } catch(e) {} 263 | try { instancewasm13 = new WebAssembly.Instance(modulewasm8, { js: { mem: memorywasm2 } }); } catch(e) {} 264 | try { funcRef4 = tablewasm14.get(21); } catch(e) {} 265 | try { instancewasm13 = new WebAssembly.Instance(modulewasm12, { js: { mem: memorywasm1 } }); } catch(e) {} 266 | try { array9 = WebAssembly.Module.customSections(modulewasm2, string7); } catch(e) {} 267 | try { tablewasm2.set(number10, funcRef1); } catch(e) {} 268 | try { tablewasm5.set(30, funcRef10); } catch(e) {} 269 | try { for (var i = 0; i < memorywasm5.buffer.length; i++) {memorywasm8.buffer[i] = -21197.814615053293481318929520367896081367189344432018103145927356972284924713701345378408491148712454856638813423222771717777002855994595722279669709704562065731839008797710866848899768654880936866131441538449627441855817843130176350360487906185682360677767683032805590212955495993981101160676849488620105752115736066603462195809743800036242220736684423806631040111563917224488145797262317713814564740305180473269118421207831197195548771059935989925571822914247720937239183359702381763548926835412309610433317063760640408904526897202468836033435555292227271828617731498055395665378171248538331075545451290663578946014875156268344535228753694702892239415304367365556304828185980462615658051552820419843824886982071533175886417663669847698862068566684582277403217080901186745610227877418380985474089547101978957973704585231456565817845227548269412458081911305484346513522786132186652679882628763920371403464996723820601625023039359193309758757591690511571300578054055500997434617142694181810220575118401700754751993393139939098718780392665682976225918922913897835151014656325802083430120595333095224923356534490264989504788930678314697691623594973369042375813770259478367481106004547149635148671725260693426323717469088716295385312946198064110237281396563766724289540060882091368436733010308357034418766187886988993081113432407766842384650789189868784375987783598427800360292356343853777557309701011347097893458651363533960683474136825744603442786031097009944796584991797597709854333224263937703424485865982347433667221651787799551943267867270276410947587041332266636798157301265870608325262286004811590375816961457897251390379325842883504268966261074412935596872027004342585908732076444073884648093578826807955212081941269045925571291268126791267209118540285473962750331574456082684610390439072859784905600748602995616754733856899819511882947305594095986243460284152023334126569379309017984475869811003899120254780624346069500010205245165638383496682644646314085645114249949813549600672836332790530807688324719486432395690341559274837881690614273673710388826252135264118626226569799146425797820311338044050050091131430401013307533289866821421126648594611004669271692532944451377519857994281572748840156181136343369559247256127833025464524449465711216736025315416044193515266570015054266009885080387884509912633024633428333195757039768062468361671081893625614934612002733059423320385491899240180377113205976491623208893603672377041075202916282180179948234682838661817482176660293938824413241809121971251204304809527889660769243761163062530175713878398832282569217488536685246357130779149130933913238691003920330584666719321884426823196912569739911852122202697082165588591365545685258784650743092318024369449869274810464854279945605660109428179119844690894924209391141961923843391105583178982528664648789699769737473728723;} } catch(e) {} 270 | try { number15 = memorywasm11.buffer.length - 1; } catch(e) {} 271 | try { for (var i = 0; i < memorywasm12.buffer.length; i++) {memorywasm9.buffer[i] = -60019.5445;} } catch(e) {} 272 | try { globalwasm6.value = number6; } catch(e) {} 273 | try { funcRef11 = tablewasm14.get(21); } catch(e) {} 274 | try { number8 = globalwasm6.value; } catch(e) {} 275 | try { string6 = WebAssembly.Module.exports(modulewasm11).toString(); } catch(e) {} 276 | try { string3 = globalwasm9.toString(); } catch(e) {} 277 | try { memorywasm15.buffer[number7] = 8; } catch(e) {} 278 | try { tablewasm5.set(number14, funcRef12); } catch(e) {} 279 | try { number5 = globalwasm14.value; } catch(e) {} 280 | try { memorywasm1 = instancewasm12.exports.memory; } catch(e) {} 281 | try { array9 = WebAssembly.Module.customSections(modulewasm7, string10); } catch(e) {} 282 | try { memorywasm14.buffer[number10] = 0; } catch(e) {} 283 | try { array12 = WebAssembly.Module.exports(modulewasm8); } catch(e) {} 284 | try { array10 = WebAssembly.Module.customSections(modulewasm5, "name"); } catch(e) {} 285 | try { number8 = globalwasm9.value; } catch(e) {} 286 | try { instancewasm9.exports.main(); } catch(e) {} 287 | try { number7 = globalwasm14.value; } catch(e) {} 288 | try { array13 = WebAssembly.Module.customSections(modulewasm1, "name"); } catch(e) {} 289 | try { memorywasm11.buffer[7] = 0; } catch(e) {} 290 | try { instancewasm2 = new WebAssembly.Instance(modulewasm1, { js: { globalwasm3 } }); } catch(e) {} 291 | try { instancewasm14.exports.main(); } catch(e) {} 292 | try { funcRef13 = tablewasm9.get(number3); } catch(e) {} 293 | try { instancewasm12.exports.main(); } catch(e) {} 294 | try { memorywasm3 = instancewasm8.exports.memory; } catch(e) {} 295 | try { number9 = tablewasm3.grow(34); } catch(e) {} 296 | try { string13 = globalwasm15.toString(); } catch(e) {} 297 | try { number15 = globalwasm15.value; } catch(e) {} 298 | try { number14 = globalwasm6.valueOf(); } catch(e) {} 299 | try { instancewasm7.exports.main(); } catch(e) {} 300 | try { number5 = globalwasm13.value; } catch(e) {} 301 | try { string3 = globalwasm7.toString(); } catch(e) {} 302 | try { number9 = globalwasm8.value; } catch(e) {} 303 | try { tablewasm15.set(number6, funcRef7); } catch(e) {} 304 | try { array11 = WebAssembly.Module.imports(modulewasm1); } catch(e) {} 305 | try { instancewasm7 = new WebAssembly.Instance(modulewasm9, { js: { mem: memorywasm11 } }); } catch(e) {} 306 | try { array4 = WebAssembly.Module.customSections(modulewasm14, ""); } catch(e) {} 307 | try { number2 = tablewasm15.grow(30); } catch(e) {} 308 | try { modulewasm15 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 309 | try { string6 = globalwasm2.toString(); } catch(e) {} 310 | try { string2 = globalwasm11.toString(); } catch(e) {} 311 | try { tablewasm3.set(5, funcRef11); } catch(e) {} 312 | try { array12 = WebAssembly.Module.customSections(modulewasm4, "name"); } catch(e) {} 313 | try { array6 = WebAssembly.Module.imports(modulewasm1); } catch(e) {} 314 | try { number10 = globalwasm14.value; } catch(e) {} 315 | try { memorywasm11.buffer[4] = 2; } catch(e) {} 316 | try { instancewasm12.exports.main(); } catch(e) {} 317 | try { number4 = globalwasm10.valueOf(); } catch(e) {} 318 | try { instancewasm15.exports.main(); } catch(e) {} 319 | try { instancewasm4.exports.main(); } catch(e) {} 320 | try { number8 = globalwasm15.value; } catch(e) {} 321 | try { memorywasm1.buffer[number15] = number10; } catch(e) {} 322 | try { array5 = memorywasm4.buffer; } catch(e) {} 323 | try { for (var i = 0; i < memorywasm4.buffer.length; i++) {memorywasm15.buffer[i] = 865228171.24068059027842124190548481262975938417514279067753214771678834444649152419055271083247189187824573295339695137596532585555030027079846582590701568914068676275205110966222489288853418045341463519772345745571973898490840742093680141845364596235628899757907004448628258675074125538958925477002073589116005664636348842904901620665362785485543904493991600810848109569573190353077847938476263397963015328754155715370050997051642485545131025595422754320065837415586131802256716613867827152223639242715100749295225198036139080292196010253729369323596596268625379523476415692137910132754402504238889278934685913418293205703132384463866421583103009838534578824567196240000152051320384377325140682639295754490397752218091735754564303808605964011687893163216917648414478704766197298317928693220883339223110991302484376024633586491840538708842968491055145662987337485596821063648382196006493978603728821708861145072930105261488437400532845187243283665216607115726283529987987649660104126639062130081211045531738383258133351606752094560810095366939083364147396191126802710251519324435462705027398867034772621924965099878814095678069341245651566704154943613659867866059096127547716523239067070142983057021800105830774622044544334951058628018975828234162104120138534357573035059520843397583818081327022686881713094280742243480387421418302701193255943976730438040370841046156142341483436600037545795777525174516519823750876030436915977808060177227266216219822005621699968244152186213165692327563309110923813465256803237015728329052153120202127589906391373647458621519152686277016527095468906118716694993480640717816656155823791461188708906237090833492362653334137328269607163304791419345673550819755164317299537277113708945909331339787109994274479882536913375393434978687753265776276851111531491059666121454621208769949915082207768362244117777615204977341093931364460169822186134922527155641227713354637731048770267914918208640446986633105688729765610957423635891980358182532954918342126400934867415533615501673992025992546932898215462413860663600106899006720923763703303242197234601196427666382095664490192591198016518628301519454245451702498601774113553822949683772080593607829096135937173692094164556470938165747422267772755609056391333756452266050293209600622273402444292390567710932861970970650651100967787311029865006699633664891214914106996204018669517751879396285406350852970080824372752438977517910710636210192400702697990100700199773081516969575641671469058550451614383684244906581130112600753201922521695189613969816094815565940862774479818155479024153839235217429745889530796130769574730979701326227876698692872504155423061529148524560408076561145357752490705721987753143717983211663109897196201673527714794085187484631932415960687182785399805347995407697687695643486163381364467778749745055569658157267248845609687396110590092259584712696900911315912217126609094879650159652335439886521069611622952061254130724059966524424268445016314175196693297361065480143049213337884476847255279380482522531948124210822034709069744250619526461384263004939450447206224650483855323549579555593285029797303557006714455338902287141153617152911630987359707001882509129311174907253853309312354971037372138883581104015583871642631274223979653905045846705140098438511436127056823254890673574150893179742419329609528165359356047003236220166721704109040959312160340787232455977523352316525242334829941291101859822249229490998041565618216421534509593413789165914866504029840353296484479042258994724150270683038584519670743380017936062895699860404388505787161725774832649432174295097410031127157424485508472532054361754562688582636745114034085639037492266458391600021458010365480487301251874234032484187911851155121950953628409816793773073886726921752595862469956165111253931878466606736337566815929451093169300986999530069853686212503399883932372340082860870205807422477693621550602371388364420596833298039496095946112578419031079892253426265660600774993643735750263486783334673217718392379;} } catch(e) {} 324 | try { number2 = tablewasm7.length - 1; } catch(e) {} 325 | try { number4 = memorywasm6.buffer.length - 1; } catch(e) {} 326 | try { number5 = memorywasm13.grow(4); } catch(e) {} 327 | try { memorywasm15 = instancewasm8.exports.memory; } catch(e) {} 328 | try { funcRef6 = tablewasm7.get(number11); } catch(e) {} 329 | try { instancewasm11.exports.main(); } catch(e) {} 330 | try { globalwasm5.value = -9; } catch(e) {} 331 | try { funcRef1 = tablewasm12.get(13); } catch(e) {} 332 | try { globalwasm13.value = number14; } catch(e) {} 333 | try { array7 = WebAssembly.Module.exports(modulewasm11); } catch(e) {} 334 | try { number14 = memorywasm8.grow(9); } catch(e) {} 335 | try { globalwasm11.value = 1520234500.7; } catch(e) {} 336 | try { funcRef5 = tablewasm4.get(number6); } catch(e) {} 337 | try { instancewasm15.exports.main(); } catch(e) {} 338 | try { memorywasm8.buffer[8] = 3; } catch(e) {} 339 | try { memorywasm6 = instancewasm1.exports.memory; } catch(e) {} 340 | try { string9 = globalwasm5.toString(); } catch(e) {} 341 | try { globalwasm5.value = 48539.287667049616098282706936844000416265991300881803974634923652829640664258211542737768782669179304572297602274057007026113540601092512327; } catch(e) {} 342 | try { for (var i = 0; i < memorywasm6.buffer.length; i++) {memorywasm1.buffer[i] = 2;} } catch(e) {} 343 | try { number9 = memorywasm2.buffer.length - 1; } catch(e) {} 344 | try { array3 = WebAssembly.Module.exports(modulewasm1); } catch(e) {} 345 | try { memorywasm3.buffer[6] = 7; } catch(e) {} 346 | try { string8 = WebAssembly.Module.exports(modulewasm9).toString(); } catch(e) {} 347 | try { number1 = globalwasm1.value; } catch(e) {} 348 | try { array12 = WebAssembly.Module.imports(modulewasm9); } catch(e) {} 349 | try { array2 = WebAssembly.Module.imports(modulewasm15); } catch(e) {} 350 | try { for (var i = 0; i < memorywasm13.buffer.length; i++) {memorywasm14.buffer[i] = -40359.8;} } catch(e) {} 351 | try { number9 = globalwasm9.value; } catch(e) {} 352 | try { array11 = WebAssembly.Module.customSections(modulewasm10, string11); } catch(e) {} 353 | try { number2 = globalwasm10.valueOf(); } catch(e) {} 354 | try { number2 = globalwasm4.value; } catch(e) {} 355 | try { array3 = WebAssembly.Module.customSections(modulewasm8, string2); } catch(e) {} 356 | try { array14 = WebAssembly.Module.imports(modulewasm7); } catch(e) {} 357 | try { number13 = memorywasm8.buffer.length - 1; } catch(e) {} 358 | try { string4 = globalwasm3.toString(); } catch(e) {} 359 | try { array2 = WebAssembly.Module.customSections(modulewasm1, ""); } catch(e) {} 360 | try { instancewasm3 = new WebAssembly.Instance(modulewasm2, {}); } catch(e) {} 361 | try { memorywasm3 = instancewasm8.exports.memory; } catch(e) {} 362 | try { instancewasm3.exports.main(); } catch(e) {} 363 | try { array6 = memorywasm11.buffer; } catch(e) {} 364 | try { array2 = memorywasm1.buffer; } catch(e) {} 365 | try { memorywasm5.buffer[3] = 1; } catch(e) {} 366 | try { number5 = memorywasm9.buffer.length - 1; } catch(e) {} 367 | try { memorywasm3 = instancewasm12.exports.memory; } catch(e) {} 368 | try { string3 = WebAssembly.Module.imports(modulewasm5).toString(); } catch(e) {} 369 | try { string12 = globalwasm6.toString(); } catch(e) {} 370 | try { array15 = WebAssembly.Module.customSections(modulewasm15, "name"); } catch(e) {} 371 | try { array12 = WebAssembly.Module.exports(modulewasm10); } catch(e) {} 372 | try { instancewasm8 = new WebAssembly.Instance(modulewasm3, { js: { tbl: tablewasm11 } }); } catch(e) {} 373 | try { modulewasm4 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 374 | try { memorywasm1.buffer[8] = 1; } catch(e) {} 375 | try { number12 = memorywasm3.buffer.length - 1; } catch(e) {} 376 | try { for (var i = 0; i < memorywasm13.buffer.length; i++) {memorywasm9.buffer[i] = -54523.6;} } catch(e) {} 377 | try { number9 = tablewasm13.grow(32); } catch(e) {} 378 | try { string11 = WebAssembly.Module.imports(modulewasm15).toString(); } catch(e) {} 379 | try { instancewasm7.exports.main(); } catch(e) {} 380 | try { instancewasm5.exports.main(); } catch(e) {} 381 | try { instancewasm9 = new WebAssembly.Instance(modulewasm1, { js: { globalwasm13 } }); } catch(e) {} 382 | try { array13 = WebAssembly.Module.customSections(modulewasm1, "debug"); } catch(e) {} 383 | try { globalwasm6.value = number11; } catch(e) {} 384 | try { globalwasm12.value = +9.226908246208063723853891996454788417391934483295; } catch(e) {} 385 | try { memorywasm8.buffer[number13] = 0; } catch(e) {} 386 | try { modulewasm7 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 387 | try { array7 = WebAssembly.Module.exports(modulewasm11); } catch(e) {} 388 | try { instancewasm10.exports.main(); } catch(e) {} 389 | try { number1 = memorywasm13.grow(7); } catch(e) {} 390 | try { array12 = memorywasm15.buffer; } catch(e) {} 391 | try { instancewasm3 = new WebAssembly.Instance(modulewasm4, {}); } catch(e) {} 392 | try { instancewasm5 = new WebAssembly.Instance(modulewasm12, { js: { globalwasm12 } }); } catch(e) {} 393 | try { number15 = tablewasm14.length - 1; } catch(e) {} 394 | try { funcRef10 = tablewasm3.get(26); } catch(e) {} 395 | try { memorywasm7.buffer[number12] = number11; } catch(e) {} 396 | try { memorywasm15 = instancewasm12.exports.memory; } catch(e) {} 397 | try { array9 = memorywasm5.buffer; } catch(e) {} 398 | try { tablewasm12.set(number8, funcRef11); } catch(e) {} 399 | try { globalwasm14.value = number15; } catch(e) {} 400 | try { memorywasm14.buffer[number1] = 0; } catch(e) {} 401 | try { globalwasm2.value = 1305677637; } catch(e) {} 402 | try { funcRef2 = tablewasm3.get(29); } catch(e) {} 403 | try { funcRef10 = tablewasm9.get(5); } catch(e) {} 404 | try { instancewasm5 = new WebAssembly.Instance(modulewasm6, {}); } catch(e) {} 405 | try { memorywasm5 = instancewasm4.exports.memory; } catch(e) {} 406 | try { instancewasm1.exports.main(); } catch(e) {} 407 | try { instancewasm13.exports.main(); } catch(e) {} 408 | try { tablewasm15.set(22, funcRef4); } catch(e) {} 409 | try { funcRef4 = tablewasm10.get(number11); } catch(e) {} 410 | try { instancewasm8 = new WebAssembly.Instance(modulewasm14, { js: { mem: memorywasm8 } }); } catch(e) {} 411 | try { string2 = WebAssembly.Module.imports(modulewasm10).toString(); } catch(e) {} 412 | try { number7 = tablewasm1.length - 1; } catch(e) {} 413 | try { string3 = WebAssembly.Module.imports(modulewasm5).toString(); } catch(e) {} 414 | try { number4 = memorywasm2.grow(4); } catch(e) {} 415 | try { funcRef14 = tablewasm9.get(number9); } catch(e) {} 416 | try { for (var i = 0; i < memorywasm14.buffer.length; i++) {memorywasm6.buffer[i] = +2;} } catch(e) {} 417 | try { memorywasm4 = instancewasm11.exports.memory; } catch(e) {} 418 | try { string14 = globalwasm2.toString(); } catch(e) {} 419 | try { array12 = WebAssembly.Module.exports(modulewasm9); } catch(e) {} 420 | try { memorywasm2.buffer[0] = 8; } catch(e) {} 421 | try { globalwasm9.value = +1648367086.419554631908899992183637329825752685004538412031644201140173042711384501866686506304095698211092039991545474956986576028791557382237671951431755067171052654219393054560785039087622889697007245268363904054769894360369176123139881190495639142295; } catch(e) {} 422 | try { instancewasm11 = new WebAssembly.Instance(modulewasm15, { js: { mem: memorywasm3 } }); } catch(e) {} 423 | try { for (var i = 0; i < memorywasm3.buffer.length; i++) {memorywasm1.buffer[i] = +1055.52;} } catch(e) {} 424 | try { array5 = memorywasm15.buffer; } catch(e) {} 425 | try { array3 = WebAssembly.Module.exports(modulewasm10); } catch(e) {} 426 | try { number12 = memorywasm14.grow(number10); } catch(e) {} 427 | try { modulewasm7 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 428 | try { memorywasm7 = instancewasm7.exports.memory; } catch(e) {} 429 | try { for (var i = 0; i < memorywasm13.buffer.length; i++) {memorywasm6.buffer[i] = 7;} } catch(e) {} 430 | try { string15 = WebAssembly.Module.exports(modulewasm13).toString(); } catch(e) {} 431 | try { memorywasm6 = instancewasm1.exports.memory; } catch(e) {} 432 | try { globalwasm6.value = number2; } catch(e) {} 433 | try { number4 = tablewasm12.grow(number2); } catch(e) {} 434 | try { number4 = globalwasm13.valueOf(); } catch(e) {} 435 | try { number2 = memorywasm2.buffer.length - 1; } catch(e) {} 436 | try { number13 = tablewasm10.grow(number12); } catch(e) {} 437 | try { memorywasm1 = instancewasm6.exports.memory; } catch(e) {} 438 | try { array6 = WebAssembly.Module.imports(modulewasm1); } catch(e) {} 439 | try { array2 = WebAssembly.Module.customSections(modulewasm4, "debug"); } catch(e) {} 440 | try { string15 = globalwasm10.toString(); } catch(e) {} 441 | try { globalwasm3.value = number3; } catch(e) {} 442 | try { instancewasm12.exports.main(); } catch(e) {} 443 | try { array10 = WebAssembly.Module.customSections(modulewasm9, string9); } catch(e) {} 444 | try { funcRef15 = tablewasm1.get(number7); } catch(e) {} 445 | try { number8 = memorywasm6.buffer.length - 1; } catch(e) {} 446 | try { array8 = WebAssembly.Module.customSections(modulewasm13, ""); } catch(e) {} 447 | try { globalwasm10.value = 940193947.8315207290931603415557979348149795065756215321496303399993028680095713010431146112618913462753291342679648047127773045250373528883169385239455516567; } catch(e) {} 448 | try { globalwasm14.value = +3; } catch(e) {} 449 | try { tablewasm2.set(1, funcRef5); } catch(e) {} 450 | try { number6 = tablewasm3.grow(4); } catch(e) {} 451 | try { number11 = globalwasm9.valueOf(); } catch(e) {} 452 | try { instancewasm6.exports.main(); } catch(e) {} 453 | try { string7 = globalwasm8.toString(); } catch(e) {} 454 | try { funcRef8 = tablewasm12.get(number14); } catch(e) {} 455 | try { string4 = globalwasm6.toString(); } catch(e) {} 456 | try { globalwasm12.value = number11; } catch(e) {} 457 | try { instancewasm12 = new WebAssembly.Instance(modulewasm5, {}); } catch(e) {} 458 | try { number5 = memorywasm12.grow(number15); } catch(e) {} 459 | try { array11 = WebAssembly.Module.imports(modulewasm15); } catch(e) {} 460 | try { array13 = WebAssembly.Module.imports(modulewasm15); } catch(e) {} 461 | try { for (var i = 0; i < memorywasm9.buffer.length; i++) {memorywasm9.buffer[i] = 8;} } catch(e) {} 462 | try { memorywasm7 = instancewasm10.exports.memory; } catch(e) {} 463 | try { array14 = memorywasm15.buffer; } catch(e) {} 464 | try { string8 = globalwasm14.toString(); } catch(e) {} 465 | try { memorywasm10.buffer[number1] = number3; } catch(e) {} 466 | try { for (var i = 0; i < memorywasm14.buffer.length; i++) {memorywasm9.buffer[i] = +8.51299372870379093154020832718085589135508792024233147660256804478611671856386718499504480549385687670389047878655609358029301382089792223020535617628862968876275525126409683975663377894816060519492843305338955610711581350185;} } catch(e) {} 467 | try { array11 = WebAssembly.Module.customSections(modulewasm15, string9); } catch(e) {} 468 | try { instancewasm6 = new WebAssembly.Instance(modulewasm3, { js: { tbl: tablewasm9 } }); } catch(e) {} 469 | try { number15 = globalwasm12.value; } catch(e) {} 470 | try { globalwasm3.value = 2425516713.062224176929454921201706254728324049881882109634622830896933246332648203467810851059365149973185904672490975930988334145033794142494256280613287945018329517817044524942836427086312680943168474521182126273798253053953495348348866270360912153601615787742208425965078392452891488378728044352451532165254953741086851889261302991560263230988229294758665282398017438703707624082177323097115706972429593991737688361912791784395374833241279444541382290714871296183170627196488879614315038684397435452685520057243753133800530406364175126802329593026987428739621196845153574515724278142508917236004301355716576772751012199691918806265487250492268993437055893396629617015836368134797564029922946023880979530015649767916064953260725779647998479965265841923464138597511707876203315502206641858343070495143492381302820950076314749522368604883751994038613558764904345890088064743269287831733281663380736873938078793717788599567246889798527835892567464599388471553007361950737334532094056684984353383395544106606372951822318208649323720304999931840376219954745253502631420168967330991882608666560421299379803232336106268133678843312491816; } catch(e) {} 471 | try { instancewasm14 = new WebAssembly.Instance(modulewasm7, { js: { mem: memorywasm8 } }); } catch(e) {} 472 | try { array4 = memorywasm9.buffer; } catch(e) {} 473 | try { array14 = WebAssembly.Module.customSections(modulewasm5, string12); } catch(e) {} 474 | try { instancewasm5 = new WebAssembly.Instance(modulewasm6, {}); } catch(e) {} 475 | try { string12 = globalwasm2.toString(); } catch(e) {} 476 | try { number10 = globalwasm4.valueOf(); } catch(e) {} 477 | try { number4 = globalwasm7.valueOf(); } catch(e) {} 478 | try { array9 = WebAssembly.Module.exports(modulewasm15); } catch(e) {} 479 | try { number8 = tablewasm4.grow(number1); } catch(e) {} 480 | try { string11 = WebAssembly.Module.exports(modulewasm11).toString(); } catch(e) {} 481 | try { instancewasm7 = new WebAssembly.Instance(modulewasm8, { js: { globalwasm7 } }); } catch(e) {} 482 | try { globalwasm5.value = 16.89696602843336452914631061; } catch(e) {} 483 | try { tablewasm3.set(28, funcRef2); } catch(e) {} 484 | try { tablewasm10.set(41, funcRef3); } catch(e) {} 485 | try { globalwasm10.value = number1; } catch(e) {} 486 | try { instancewasm7.exports.main(); } catch(e) {} 487 | try { string12 = globalwasm8.toString(); } catch(e) {} 488 | try { number14 = tablewasm8.grow(number6); } catch(e) {} 489 | try { modulewasm15 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 490 | try { array11 = WebAssembly.Module.customSections(modulewasm1, ""); } catch(e) {} 491 | try { tablewasm4.set(7, funcRef15); } catch(e) {} 492 | try { number10 = memorywasm14.grow(2); } catch(e) {} 493 | try { modulewasm13 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 494 | try { instancewasm6.exports.main(); } catch(e) {} 495 | try { funcRef11 = tablewasm14.get(number8); } catch(e) {} 496 | try { memorywasm8 = instancewasm13.exports.memory; } catch(e) {} 497 | try { number13 = memorywasm12.grow(number8); } catch(e) {} 498 | try { number10 = memorywasm12.grow(number4); } catch(e) {} 499 | try { array5 = WebAssembly.Module.imports(modulewasm10); } catch(e) {} 500 | try { string5 = WebAssembly.Module.imports(modulewasm1).toString(); } catch(e) {} 501 | try { number12 = memorywasm14.grow(number1); } catch(e) {} 502 | try { string8 = WebAssembly.Module.exports(modulewasm11).toString(); } catch(e) {} 503 | try { instancewasm7.exports.main(); } catch(e) {} 504 | try { number12 = globalwasm1.valueOf(); } catch(e) {} 505 | try { array9 = memorywasm2.buffer; } catch(e) {} 506 | try { string4 = globalwasm5.toString(); } catch(e) {} 507 | try { instancewasm1 = new WebAssembly.Instance(modulewasm8, { js: { tbl: tablewasm10 } }); } catch(e) {} 508 | try { globalwasm14.value = number9; } catch(e) {} 509 | try { number1 = globalwasm2.value; } catch(e) {} 510 | try { array7 = WebAssembly.Module.imports(modulewasm15); } catch(e) {} 511 | try { number14 = globalwasm13.valueOf(); } catch(e) {} 512 | try { funcRef13 = tablewasm11.get(21); } catch(e) {} 513 | try { globalwasm7.value = 2271195542.2; } catch(e) {} 514 | try { globalwasm1.value = +59; } catch(e) {} 515 | try { number8 = memorywasm1.grow(number15); } catch(e) {} 516 | try { instancewasm9 = new WebAssembly.Instance(modulewasm14, {}); } catch(e) {} 517 | try { array2 = WebAssembly.Module.customSections(modulewasm6, string10); } catch(e) {} 518 | try { array4 = WebAssembly.Module.imports(modulewasm10); } catch(e) {} 519 | try { memorywasm13 = instancewasm14.exports.memory; } catch(e) {} 520 | try { number13 = globalwasm11.value; } catch(e) {} 521 | try { for (var i = 0; i < memorywasm7.buffer.length; i++) {memorywasm15.buffer[i] = 5;} } catch(e) {} 522 | try { funcRef5 = tablewasm15.get(15); } catch(e) {} 523 | try { instancewasm7.exports.main(); } catch(e) {} 524 | try { number4 = globalwasm8.valueOf(); } catch(e) {} 525 | try { instancewasm2.exports.main(); } catch(e) {} 526 | try { tablewasm3.set(29, funcRef5); } catch(e) {} 527 | try { number10 = tablewasm14.grow(41); } catch(e) {} 528 | try { memorywasm8.buffer[number12] = 4; } catch(e) {} 529 | try { memorywasm2.buffer[6] = 7; } catch(e) {} 530 | try { string9 = WebAssembly.Module.imports(modulewasm9).toString(); } catch(e) {} 531 | try { instancewasm5 = new WebAssembly.Instance(modulewasm4, {}); } catch(e) {} 532 | try { array7 = WebAssembly.Module.customSections(modulewasm8, string9); } catch(e) {} 533 | try { funcRef1 = tablewasm8.get(38); } catch(e) {} 534 | try { memorywasm6.buffer[number13] = 7; } catch(e) {} 535 | try { array2 = WebAssembly.Module.customSections(modulewasm13, string9); } catch(e) {} 536 | try { number2 = tablewasm2.grow(16); } catch(e) {} 537 | try { array9 = WebAssembly.Module.customSections(modulewasm1, string13); } catch(e) {} 538 | try { memorywasm13 = instancewasm4.exports.memory; } catch(e) {} 539 | try { memorywasm2.buffer[number14] = number11; } catch(e) {} 540 | try { number15 = globalwasm10.value; } catch(e) {} 541 | try { array5 = memorywasm9.buffer; } catch(e) {} 542 | try { number13 = globalwasm8.value; } catch(e) {} 543 | try { number11 = memorywasm1.grow(1); } catch(e) {} 544 | try { number2 = memorywasm6.buffer.length - 1; } catch(e) {} 545 | try { globalwasm8.value = 59677; } catch(e) {} 546 | try { array10 = WebAssembly.Module.imports(modulewasm5); } catch(e) {} 547 | try { modulewasm10 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 548 | try { number4 = globalwasm1.value; } catch(e) {} 549 | try { memorywasm14 = instancewasm7.exports.memory; } catch(e) {} 550 | try { array1 = memorywasm3.buffer; } catch(e) {} 551 | try { globalwasm3.value = number6; } catch(e) {} 552 | try { number2 = tablewasm7.grow(4); } catch(e) {} 553 | try { number11 = tablewasm10.length - 1; } catch(e) {} 554 | try { number5 = globalwasm8.valueOf(); } catch(e) {} 555 | try { memorywasm4 = instancewasm4.exports.memory; } catch(e) {} 556 | try { globalwasm3.value = -52.8; } catch(e) {} 557 | try { for (var i = 0; i < memorywasm10.buffer.length; i++) {memorywasm14.buffer[i] = 2;} } catch(e) {} 558 | try { instancewasm15.exports.main(); } catch(e) {} 559 | try { instancewasm10.exports.main(); } catch(e) {} 560 | try { array13 = WebAssembly.Module.imports(modulewasm6); } catch(e) {} 561 | try { memorywasm5 = instancewasm5.exports.memory; } catch(e) {} 562 | try { memorywasm5.buffer[5] = 6; } catch(e) {} 563 | try { number5 = memorywasm4.grow(number10); } catch(e) {} 564 | try { number14 = globalwasm11.valueOf(); } catch(e) {} 565 | try { number4 = tablewasm15.grow(20); } catch(e) {} 566 | try { number7 = tablewasm10.grow(number11); } catch(e) {} 567 | try { memorywasm13.buffer[number15] = 6; } catch(e) {} 568 | try { number8 = memorywasm3.grow(number7); } catch(e) {} 569 | try { string8 = WebAssembly.Module.imports(modulewasm11).toString(); } catch(e) {} 570 | try { memorywasm11.buffer[4] = 7; } catch(e) {} 571 | try { globalwasm7.value = +943488251; } catch(e) {} 572 | try { number10 = tablewasm14.grow(number6); } catch(e) {} 573 | try { number11 = globalwasm2.value; } catch(e) {} 574 | try { globalwasm11.value = 244.14854406265880510057799; } catch(e) {} 575 | try { globalwasm12.value = 157.8; } catch(e) {} 576 | try { array9 = WebAssembly.Module.customSections(modulewasm5, "debug"); } catch(e) {} 577 | try { string1 = WebAssembly.Module.imports(modulewasm9).toString(); } catch(e) {} 578 | try { number3 = memorywasm14.grow(4); } catch(e) {} 579 | try { for (var i = 0; i < memorywasm10.buffer.length; i++) {memorywasm9.buffer[i] = 2;} } catch(e) {} 580 | try { memorywasm1 = instancewasm14.exports.memory; } catch(e) {} 581 | try { number13 = tablewasm3.grow(number11); } catch(e) {} 582 | try { funcRef8 = tablewasm3.get(number15); } catch(e) {} 583 | try { array12 = memorywasm5.buffer; } catch(e) {} 584 | try { tablewasm12.set(number6, funcRef9); } catch(e) {} 585 | try { string2 = globalwasm14.toString(); } catch(e) {} 586 | try { number10 = memorywasm3.buffer.length - 1; } catch(e) {} 587 | try { instancewasm10.exports.main(); } catch(e) {} 588 | try { memorywasm14 = instancewasm3.exports.memory; } catch(e) {} 589 | try { globalwasm11.value = 107.752340169999698799586946824561191730483873567072032206788304442359986592209038373416349286925502552690735490134708034717233664784742933095747764588958171557703840336152542189732290230366591219069949843630354778078399144005138136922372623627968690341362760781836354692771828639011359987308142569796145420375484677869180293257023467207370479224282258625469973630871256871387654316151136567501349754719260173882406652248133352353651325954485534159852482528559940996614794031863045215900245433737613227159002889891454688212402352433944707188650987699244488542066132723864302605099514172257489683717695119551735157423584848831999915870612435549824577253210467880224113695104447889742714399995458460432558883728913816970330; } catch(e) {} 590 | try { number12 = memorywasm11.grow(number1); } catch(e) {} 591 | try { number3 = globalwasm7.value; } catch(e) {} 592 | try { modulewasm7 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 593 | try { number8 = memorywasm15.grow(number5); } catch(e) {} 594 | try { modulewasm8 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 595 | try { number15 = memorywasm1.grow(number2); } catch(e) {} 596 | try { instancewasm12.exports.main(); } catch(e) {} 597 | try { string8 = WebAssembly.Module.exports(modulewasm5).toString(); } catch(e) {} 598 | try { array10 = WebAssembly.Module.exports(modulewasm4); } catch(e) {} 599 | try { tablewasm15.set(10, funcRef4); } catch(e) {} 600 | try { instancewasm8.exports.main(); } catch(e) {} 601 | try { globalwasm4.value = number3; } catch(e) {} 602 | try { string10 = globalwasm8.toString(); } catch(e) {} 603 | try { funcRef4 = tablewasm14.get(number14); } catch(e) {} 604 | try { string4 = WebAssembly.Module.exports(modulewasm14).toString(); } catch(e) {} 605 | try { instancewasm7.exports.main(); } catch(e) {} 606 | try { funcRef8 = tablewasm2.get(number9); } catch(e) {} 607 | try { array5 = WebAssembly.Module.exports(modulewasm12); } catch(e) {} 608 | try { array8 = WebAssembly.Module.exports(modulewasm15); } catch(e) {} 609 | try { number2 = tablewasm8.grow(8); } catch(e) {} 610 | try { number11 = tablewasm14.grow(1); } catch(e) {} 611 | try { number2 = tablewasm7.length - 1; } catch(e) {} 612 | try { string6 = WebAssembly.Module.exports(modulewasm2).toString(); } catch(e) {} 613 | try { array14 = memorywasm4.buffer; } catch(e) {} 614 | try { funcRef9 = tablewasm5.get(number10); } catch(e) {} 615 | try { string10 = WebAssembly.Module.imports(modulewasm1).toString(); } catch(e) {} 616 | try { string8 = WebAssembly.Module.exports(modulewasm8).toString(); } catch(e) {} 617 | try { memorywasm12.buffer[0] = 4; } catch(e) {} 618 | try { array14 = WebAssembly.Module.customSections(modulewasm4, string11); } catch(e) {} 619 | try { string2 = WebAssembly.Module.exports(modulewasm5).toString(); } catch(e) {} 620 | try { array4 = WebAssembly.Module.customSections(modulewasm2, string7); } catch(e) {} 621 | try { globalwasm8.value = number5; } catch(e) {} 622 | try { memorywasm13 = instancewasm8.exports.memory; } catch(e) {} 623 | try { array12 = WebAssembly.Module.customSections(modulewasm9, string4); } catch(e) {} 624 | try { globalwasm8.value = number14; } catch(e) {} 625 | try { memorywasm6.buffer[6] = 7; } catch(e) {} 626 | try { instancewasm9 = new WebAssembly.Instance(modulewasm13, { js: { mem: memorywasm7 } }); } catch(e) {} 627 | try { for (var i = 0; i < memorywasm10.buffer.length; i++) {memorywasm4.buffer[i] = 3384222469.3635956402075026207493062917095301504217492710350238586447311158867251397689597503338465434125414303117703572292947104136705345659991597339210642720695591335447225579101723616798052734920699207747942093061113144128535763040785664071796980295834558224430160941099679226154734228220218420878270133306678411239228275819033659776778822606021045690892665337379135430530841474568323413252422299641765007966261418950020413098388450957704049011609961220394541628273484765062155815704704141175046358702306884472555182132379838776846537602263270385592331603600007765224834059050909895509887908315317562957456909634539459459451121892382942315406131727110903671829054807432762124340897459455022088852229121135238795528152527876161527126918912414727083194062854898754903893791937991994216072673937582345370204413828106153955287151845261281590827270559454532777950636341127686120819424497448457235531389789593031537526710547569311323792487512318316065647447287363033892319133508559451918677052954876509505909217508123759185082249126045620622816092792164439497323767465162664452440309829640994907413601664607625037308753003165016594156945631653072894553202741716777232644219593254447261878606335379416920770010984120683074306145354;} } catch(e) {} 628 | try { number4 = memorywasm1.buffer.length - 1; } catch(e) {} 629 | try { tablewasm8.set(37, funcRef8); } catch(e) {} 630 | try { funcRef10 = tablewasm15.get(number5); } catch(e) {} 631 | try { globalwasm2.value = number6; } catch(e) {} 632 | try { array2 = WebAssembly.Module.exports(modulewasm11); } catch(e) {} 633 | try { number10 = globalwasm7.value; } catch(e) {} 634 | try { memorywasm13.buffer[4] = 5; } catch(e) {} 635 | try { string1 = WebAssembly.Module.imports(modulewasm10).toString(); } catch(e) {} 636 | try { string6 = WebAssembly.Module.exports(modulewasm15).toString(); } catch(e) {} 637 | try { number7 = memorywasm9.grow(number14); } catch(e) {} 638 | try { globalwasm1.value = +174; } catch(e) {} 639 | try { funcRef11 = tablewasm6.get(11); } catch(e) {} 640 | try { instancewasm11 = new WebAssembly.Instance(modulewasm2, {}); } catch(e) {} 641 | try { string3 = WebAssembly.Module.exports(modulewasm11).toString(); } catch(e) {} 642 | try { number6 = tablewasm11.grow(35); } catch(e) {} 643 | try { array5 = WebAssembly.Module.customSections(modulewasm4, "name"); } catch(e) {} 644 | try { instancewasm7.exports.main(); } catch(e) {} 645 | try { instancewasm5.exports.main(); } catch(e) {} 646 | try { number4 = tablewasm2.grow(number4); } catch(e) {} 647 | try { memorywasm15.buffer[5] = 3; } catch(e) {} 648 | try { tablewasm10.set(number12, funcRef10); } catch(e) {} 649 | try { memorywasm12.buffer[number11] = 9; } catch(e) {} 650 | try { instancewasm5.exports.main(); } catch(e) {} 651 | try { instancewasm7.exports.main(); } catch(e) {} 652 | try { array5 = WebAssembly.Module.imports(modulewasm8); } catch(e) {} 653 | try { array10 = WebAssembly.Module.customSections(modulewasm14, "debug"); } catch(e) {} 654 | try { array2 = WebAssembly.Module.customSections(modulewasm1, "debug"); } catch(e) {} 655 | try { for (var i = 0; i < memorywasm9.buffer.length; i++) {memorywasm7.buffer[i] = 2;} } catch(e) {} 656 | try { tablewasm4.set(24, funcRef6); } catch(e) {} 657 | try { globalwasm10.value = +1270364979; } catch(e) {} 658 | try { number9 = tablewasm9.grow(35); } catch(e) {} 659 | try { instancewasm3.exports.main(); } catch(e) {} 660 | try { number8 = globalwasm7.value; } catch(e) {} 661 | try { string5 = WebAssembly.Module.imports(modulewasm12).toString(); } catch(e) {} 662 | try { array12 = WebAssembly.Module.customSections(modulewasm6, string7); } catch(e) {} 663 | try { instancewasm14.exports.main(); } catch(e) {} 664 | try { instancewasm8.exports.main(); } catch(e) {} 665 | try { array15 = WebAssembly.Module.imports(modulewasm15); } catch(e) {} 666 | try { number15 = tablewasm14.grow(number8); } catch(e) {} 667 | try { instancewasm7 = new WebAssembly.Instance(modulewasm8, { js: { globalwasm7 } }); } catch(e) {} 668 | try { array15 = WebAssembly.Module.imports(modulewasm7); } catch(e) {} 669 | try { number3 = tablewasm9.length - 1; } catch(e) {} 670 | try { memorywasm12.buffer[number8] = 5; } catch(e) {} 671 | try { memorywasm14 = instancewasm8.exports.memory; } catch(e) {} 672 | try { number12 = tablewasm11.grow(number13); } catch(e) {} 673 | try { number10 = memorywasm11.buffer.length - 1; } catch(e) {} 674 | try { memorywasm13 = instancewasm6.exports.memory; } catch(e) {} 675 | try { memorywasm5 = instancewasm5.exports.memory; } catch(e) {} 676 | try { instancewasm13.exports.main(); } catch(e) {} 677 | try { memorywasm2.buffer[number11] = number5; } catch(e) {} 678 | try { number6 = memorywasm12.buffer.length - 1; } catch(e) {} 679 | try { for (var i = 0; i < memorywasm15.buffer.length; i++) {memorywasm7.buffer[i] = -9.7;} } catch(e) {} 680 | try { tablewasm8.set(10, funcRef15); } catch(e) {} 681 | try { funcRef14 = tablewasm10.get(25); } catch(e) {} 682 | try { globalwasm3.value = number4; } catch(e) {} 683 | try { number4 = globalwasm3.valueOf(); } catch(e) {} 684 | try { number10 = tablewasm4.length - 1; } catch(e) {} 685 | try { array9 = WebAssembly.Module.imports(modulewasm6); } catch(e) {} 686 | try { string1 = WebAssembly.Module.exports(modulewasm11).toString(); } catch(e) {} 687 | try { number9 = memorywasm14.grow(number3); } catch(e) {} 688 | try { number13 = tablewasm13.length - 1; } catch(e) {} 689 | try { memorywasm7 = instancewasm11.exports.memory; } catch(e) {} 690 | try { memorywasm14.buffer[3] = 7; } catch(e) {} 691 | try { number10 = memorywasm10.grow(5); } catch(e) {} 692 | try { array11 = WebAssembly.Module.customSections(modulewasm11, ""); } catch(e) {} 693 | try { instancewasm13 = new WebAssembly.Instance(modulewasm14, { js: { mem: memorywasm10 } }); } catch(e) {} 694 | try { number6 = globalwasm12.value; } catch(e) {} 695 | try { number8 = tablewasm11.length - 1; } catch(e) {} 696 | try { array3 = WebAssembly.Module.customSections(modulewasm11, "debug"); } catch(e) {} 697 | try { instancewasm9 = new WebAssembly.Instance(modulewasm15, { js: { tbl: tablewasm4 } }); } catch(e) {} 698 | try { array13 = WebAssembly.Module.customSections(modulewasm6, string11); } catch(e) {} 699 | try { number8 = tablewasm13.length - 1; } catch(e) {} 700 | try { string5 = WebAssembly.Module.exports(modulewasm13).toString(); } catch(e) {} 701 | try { string2 = WebAssembly.Module.imports(modulewasm1).toString(); } catch(e) {} 702 | try { instancewasm11 = new WebAssembly.Instance(modulewasm13, { js: { globalwasm10 } }); } catch(e) {} 703 | try { number9 = globalwasm11.value; } catch(e) {} 704 | try { string2 = WebAssembly.Module.exports(modulewasm12).toString(); } catch(e) {} 705 | try { number3 = tablewasm15.grow(number2); } catch(e) {} 706 | try { array10 = WebAssembly.Module.imports(modulewasm14); } catch(e) {} 707 | try { string3 = globalwasm11.toString(); } catch(e) {} 708 | try { string13 = WebAssembly.Module.exports(modulewasm2).toString(); } catch(e) {} 709 | try { funcRef13 = tablewasm1.get(18); } catch(e) {} 710 | try { modulewasm7 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 711 | try { globalwasm9.value = number10; } catch(e) {} 712 | try { instancewasm12 = new WebAssembly.Instance(modulewasm8, { js: { mem: memorywasm13 } }); } catch(e) {} 713 | try { number13 = globalwasm10.valueOf(); } catch(e) {} 714 | try { for (var i = 0; i < memorywasm13.buffer.length; i++) {memorywasm7.buffer[i] = 2431294493.4;} } catch(e) {} 715 | try { number5 = memorywasm7.buffer.length - 1; } catch(e) {} 716 | try { modulewasm12 = new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130,128,128,128,0,1,0,4,132,128,128,128,0,1,112,0,0,5,131,128,128,128,0,1,0,1,6,129,128,128,128,0,0,7,145,128,128,128,0,2,6,109,101,109,111,114,121,2,0,4,109,97,105,110,0,0,10,138,128,128,128,0,1,132,128,128,128,0,0,65,42,11])); } catch(e) {} 717 | try { globalwasm9.value = number10; } catch(e) {} 718 | try { globalwasm11.value = -179.55454716427872536644708335351490233444698080702588272757595768545532486717156091874585182488378324506851441636365697575690907095967871664086600970560148692185760078878033821130656976319682097548267750937989325278557353681268422468420857818019594376479971831838487184972045781214448615254140214946551248524195401757941974014100168144963240081212614524377118576233655730379122330029244628729629968906714300326725467662623832666996570077994028802044456679102567250853163786963591436829778921893884431442112700137533342240484945416453377447822340451149074373744113581931844033229112530935135540595106020740427696114483073945395816283572702965519145200924023282557937716780336597730419681310591892578024557584486154211217428757688977423892376837849079090518210916206650993511525308767833840002576403680967336441336561152049998681429973103788139811409662169939280313413509827159091980195447731286090727013991848934457528331257687514636330102961056806906864486404959191212917821052716025103147929287264668876212636735925; } catch(e) {} 719 | try { string9 = globalwasm2.toString(); } catch(e) {} 720 | try { memorywasm15 = instancewasm13.exports.memory; } catch(e) {} 721 | try { tablewasm13.set(14, funcRef12); } catch(e) {} 722 | try { string10 = globalwasm12.toString(); } catch(e) {} 723 | try { number6 = tablewasm9.length - 1; } catch(e) {} 724 | try { instancewasm7 = new WebAssembly.Instance(modulewasm10, {}); } catch(e) {} 725 | try { number10 = memorywasm1.buffer.length - 1; } catch(e) {} 726 | try { memorywasm11 = instancewasm6.exports.memory; } catch(e) {} 727 | try { globalwasm3.value = number2; } catch(e) {} 728 | try { instancewasm8.exports.main(); } catch(e) {} -------------------------------------------------------------------------------- /fuzzing_d8_asan.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # color style 4 | RED='\033[0;31m' 5 | GREEN='\033[0;32m' 6 | NC='\033[0m' # No Color 7 | 8 | # fuzzing config 9 | seed_dir="./input/" 10 | crash_dir="crashes" 11 | core_dir="core" 12 | target="./d8" 13 | target_param="--wasm-grow-shared-memory --abort-on-uncaught-exception" 14 | asan_op="detect_leaks=0,exitcode=42,abort_on_error=1,disable_coredump=0" 15 | 16 | clear 17 | echo -e "${RED}[*] Fuzzing d8/ASAN using seeds${NC}" 18 | echo 19 | 20 | mkdir "$crash_dir" 21 | 22 | echo -e "${RED}[*] Start execution${NC}" 23 | echo -e "${RED}[*] Seeds folder: input/${NC}" 24 | echo -e "${RED}[*] Crashes folder: crashes/${NC}" 25 | echo 26 | 27 | for i in `find "$seed_dir" -name "*.js" | sort -u`; do 28 | # echo -e "${RED}[*] TestCase: $i${NC}"; 29 | 30 | # exec target with ASAN options 31 | ASAN_OPTIONS=${asan_op} ${target} ${target_param} $i > /dev/null 32 | 33 | # check if ASAN crash 34 | if [ $? -gt 0 ]; then 35 | echo -e "${GREEN}[*] TestCase: $i${NC}"; 36 | echo -e "${GREEN}[*][*] d8 ASAN crash${NC}" 37 | cp $i crashes/ 38 | fi 39 | 40 | done 41 | --------------------------------------------------------------------------------