//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------

var trackStep = 10; var trackCnt=1; function print(s) {};
try{eval("\"use strict\"; let(z) { (null);}throw StopIteration;");}catch(ex){}
try{eval("const x = ~-1383803673;gc()");}catch(ex){}
try{eval("\"use strict\"; let (eval = (4277) ^= d, window, x, window = ([,,].length).call(arguments, [,,z1]), fkiasp, fqceek) { var khwaxy = new ArrayBuffer(2); var khwaxy_0 = new WebGLIntArray(khwaxy); khwaxy_0[0] = -262145; (\"\\u6925\"); }");}catch(ex){}
try{eval("print(x);print(x);");}catch(ex){}
WScript.Echo("done");